diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -1,42 +1,43 @@ 0140ff702b232f48cb4c7414dca663e41acad213 Isabelle94-3 0a604b2fc2b1df524a3cf81f5a7b2255b19fda92 Isabelle99 0b268cff9344268b18ab5241b5c45e3374f107cd Isabelle94-8 213dcc39358faefae737f8e7d2eea67658e9eedf Isabelle2003 23ceb1dc9755a8ad6f0230697d0cc52f54102bf4 Isabelle94-5 2cf13a72e1704d0094d21e7dc68e7271a282ed31 Isabelle2008 33b9b5da3e6faee6ca6969d17e79634d49e5b46a Isabelle94-1 3e47692e3a3e4c695f6345b3534ed0c36817fd40 Isabelle99-2 50be659d4222b68f95e9c966097e59091f26acf3 Isabelle99-1 67692db44c7099ad8789f088003213aeb095e914 Isabelle94-2 6a422b22ba02f6275fa3ac5f9df1428705552d50 Isabelle98-1 6f79698f294df13edfba9c790df18a545570c81e Isabelle2007 7d6b0241afabbf87d4d94a412a1c1ebbba71c088 Isabelle94-4 805fa01ac2337790fd555991f1231d3ef6b2e3fb Isabelle2004_0 831a9a7ab9f352c65b0f449630b428304c89362b Isabelle93 836950047d8508e3c200edc1e07a46c2c5e09cd7 Isabelle94-6 8d42a7bccf0b0880dff8e46c71c4811be8b2e7ec Isabelle94-7 be6b5edbca9ffeb3bace5f4bac5c6478bf8cbdb2 Isabelle98 ce180e5b7fa056003791fff19cc5cefba193b135 Isabelle2002 f9eb0f819642b2ad77119dbf8935bf13248f205d Isabelle94 fc385ce6187d5ad2cef90f1e6240cc691e02d827 Isabelle2005 5c8618f95d240046bbbb609b643c06704888f587 Isabelle2009 6a973bd4394996c31f638e5c59ea6bb953335c9a Isabelle2009-1 35815ce9218a8822a50f5d80b96aa8d1970ec35d Isabelle2009-2 6d736d983d5cfec4a6c6fba174db2cd93493a96b Isabelle2011 76fef3e570043b84a32716b5633085d2fb215525 Isabelle2011-1 21c42b095c841d1a7508c143d6b6e98d95dbfa69 Isabelle2012 20126dd9772c973118879a6878acfd9e6c66f1e7 build_history_base d90218288d517942cfbc80a6b2654ecb22735e5c Isabelle2013 9c1f2136532626c7cb5fae14a2aeac53be3aeb67 Isabelle2013-1 4dd08fe126bad63aa05741d55fb3e86a2dbfc795 Isabelle2013-2 8f4a332500e41bb67efc3e141608829473606a72 Isabelle2014 5ae2a2e74c93eafeb00b1ddeef0404256745ebba Isabelle2015 d3996d5873ddcf1115ec8d3d511a0bb5dbd1cfc4 Isabelle2016 7aa3c52f27aade2cada22206cf0477b30a25f781 Isabelle2016-1 64b47495676d5d6bdec02032a7a90fe6e1ff6c50 Isabelle2017 91162dd89571fb9ddfa36844fdb1a16aea13adcf Isabelle2018 83774d669b5181fb28d19d7a0219fbf6c6d38aab Isabelle2019 abf3e80bd815c2c062b02c78b256f7ba27481380 Isabelle2020 21ff9c1a464494b3a61c3538650664cc1b42c0cb Isabelle2021-RC0 d4b67dc6f4ebd5f0fbd4ed1cccd0cc32c344d122 Isabelle2021-RC1 802647edfe7be4478ca47a6e54e4d73733347e02 Isabelle2021-RC2 +02422c9add5e1c608290e48f3f0815c93ab00c1d Isabelle2021-RC3 diff --git a/ANNOUNCE b/ANNOUNCE --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,39 +1,39 @@ Subject: Announcing Isabelle2021 To: isabelle-users@cl.cam.ac.uk Isabelle2021 is now available. This version introduces many changes over Isabelle2020: see the NEWS file for further details. Here are various details: * Improved HTML presentation in Isabelle/Scala, using PIDE markup. * Improved PDF document preparation in Isabelle/Scala, using LuaLaTeX. * Isabelle/jEdit: improved monitoring of Java and ML process. -* Isabelle/jEdit: look-and-feel and IDE feedback improvements. +* Isabelle/jEdit: improved look-and-feel and IDE feedback. * Pure: improved handling of named contexts and local syntax bundles. * HOL: substantially reworked support for Word library. * HOL: various syntax and library improvements. * HOL: various Sledgehammer and SMT improvements, with updated external tools. * HOL: support for Nitpick/Kodkod in Isabelle/Scala. * ML: routine support for Isabelle/Scala functions in Isabelle/ML. * System: support for Isabelle/Scala services defined in user-space. -* Experimental support for ARM64 platform on Linux and macOS (Apple Silicon). +* Partial support for ARM64 platform on Linux and macOS (Apple Silicon). You may get Isabelle2021 from the following mirror sites: Cambridge (UK) https://www.cl.cam.ac.uk/research/hvg/Isabelle Munich (Germany) https://isabelle.in.tum.de Sydney (Australia) https://mirror.cse.unsw.edu.au/pub/isabelle Potsdam, NY (USA) https://mirror.clarkson.edu/isabelle diff --git a/Admin/components/components.sha1 b/Admin/components/components.sha1 --- a/Admin/components/components.sha1 +++ b/Admin/components/components.sha1 @@ -1,379 +1,383 @@ 59a71e08c34ff01f3f5c4af00db5e16369527eb7 Haskabelle-2013.tar.gz 23a96ff4951d72f4024b6e8843262eda988bc151 Haskabelle-2014.tar.gz eccff31931fb128c1dd522cfc85495c9b66e67af Haskabelle-2015.tar.gz 8ee375cfc38972f080dbc78f07b68dac03efe968 ProofGeneral-3.7.1.1.tar.gz 847b52c0676b5eb0fbf0476f64fc08c2d72afd0c ProofGeneral-4.1.tar.gz 8e0b2b432755ef11d964e20637d1bc567d1c0477 ProofGeneral-4.2-1.tar.gz 51e1e0f399e934020565b2301358452c0bcc8a5e ProofGeneral-4.2-2.tar.gz 8472221c876a430cde325841ce52893328302712 ProofGeneral-4.2.tar.gz fbe83b522cb37748ac1b3c943ad71704fdde2f82 bash_process-1.1.1.tar.gz bb9ef498cd594b4289221b96146d529c899da209 bash_process-1.1.tar.gz 81250148f8b89ac3587908fb20645081d7f53207 bash_process-1.2.1.tar.gz 97b2491382130a841b3bbaebdcf8720c4d4fb227 bash_process-1.2.2.tar.gz 5c5b7c18cc1dc2a4d22b997dac196da09eaca868 bash_process-1.2.3-1.tar.gz 48b01bd9436e243ffcb7297f08b498d0c0875ed9 bash_process-1.2.3.tar.gz 9e21f447bfa0431ae5097301d553dd6df3c58218 bash_process-1.2.tar.gz a65ce644b6094d41e9f991ef851cf05eff5dd0a9 bib2xhtml-20171221.tar.gz 4085dd6060a32d7e0d2e3f874c463a9964fd409b bib2xhtml-20190409.tar.gz f92cff635dfba5d4d77f469307369226c868542c cakeml-2.0.tar.gz e7ffe4238b61a3c1ee87aca4421e7a612e09b836 ci-extras-1.tar.gz e880f31f59bd403fb72fcd3b5afb413c3831a21c csdp-6.1-1.tar.gz 2659100ba8e28e7cb0ecb554178ee5315d4a87f5 csdp-6.1.1.tar.gz a2bd94f4f9281dc70dfda66cf28016c2ffef7ed7 csdp-6.1.tar.gz ec17080269737e4a97b4424a379924c09b338ca2 csdp-6.2.0.tar.gz 70105fd6fbfd1a868383fc510772b95234325d31 csdp-6.x.tar.gz 2f6417b8e96a0e4e8354fe0f1a253c18fb55d9a7 cvc3-2.4.1.tar.gz d70bfbe63590153c07709dea7084fbc39c669841 cvc4-1.5-1.tar.gz 541eac340464c5d34b70bb163ae277cc8829c40f cvc4-1.5-2.tar.gz 1a44895d2a440091a15cc92d7f77a06a2e432507 cvc4-1.5-3.tar.gz c0d8d5929b00e113752d8bf5d11241cd3bccafce cvc4-1.5-4.tar.gz ffb0d4739c10eb098eb092baef13eccf94a79bad cvc4-1.5-5.tar.gz 3682476dc5e915cf260764fa5b86f1ebdab57507 cvc4-1.5.tar.gz a5e02b5e990da4275dc5d4480c3b72fc73160c28 cvc4-1.5pre-1.tar.gz 4d9658fd2688ae8ac78da8fdfcbf85960f871b71 cvc4-1.5pre-2.tar.gz b01fdb93f2dc2b8bcfd41c6091d91b37d6e240f9 cvc4-1.5pre-3.tar.gz 76ff6103b8560f0e2778bbfbdb05f5fa18f850b7 cvc4-1.5pre-4.tar.gz 03aec2ec5757301c9df149f115d1f4f1d2cafd9e cvc4-1.5pre.tar.gz e99560d0b7cb9bafde2b0ec1a3a95af315918a25 cvc4-1.8.tar.gz 842d9526f37b928cf9e22f141884365129990d63 cygwin-20130110.tar.gz cb3b0706d208f104b800267697204f6d82f7b48a cygwin-20130114.tar.gz 3b44cca04855016d5f8cfb5101b2e0579ab80197 cygwin-20130117.tar.gz 1fde9ddf0fa4f398965113d0c0c4f0e97c78d008 cygwin-20130716.tar.gz a03735a53c2963eb0b453f6a7282d3419f28bf38 cygwin-20130916.tar.gz 7470125fc46e24ee188bdaacc6d560e01b6fa839 cygwin-20140520.tar.gz db4dedae026981c5f001be283180abc1962b79ad cygwin-20140521.tar.gz acbc4bf161ad21e96ecfe506266ccdbd288f8a6f cygwin-20140530.tar.gz 3dc680d9eb85276e8c3e9f6057dad0efe2d5aa41 cygwin-20140626.tar.gz 8e562dfe57a2f894f9461f4addedb88afa108152 cygwin-20140725.tar.gz 238d8e30e8e22495b7ea3f5ec36e852e97fe8bbf cygwin-20140813.tar.gz 629b8fbe35952d1551cd2a7ff08db697f6dff870 cygwin-20141024.tar.gz ce93d0b3b2743c4f4e5bba30c2889b3b7bc22f2c cygwin-20150410.tar.gz fa712dd5ec66ad16add1779d68aa171ff5694064 cygwin-20151210.tar.gz 056b843d5a3b69ecf8a52c06f2ce6e696dd275f9 cygwin-20151221.tar.gz 44f3a530f727e43a9413226c2423c9ca3e4c0cf5 cygwin-20161002.tar.gz dd56dd16d861fc6e1a008bf5e9da6f33ed6eb820 cygwin-20161022.tar.gz d9ad7aae99d54e3b9813151712eb88a441613f04 cygwin-20161024.tar.gz f8eb6a0f722e3cfe3775d1204c5c7063ee1f008e cygwin-20170828.tar.gz c22048912b010a5a0b4f2a3eb4d318d6953761e4 cygwin-20170930.tar.gz 5a3919e665947b820fd7f57787280c7512be3782 cygwin-20180604.tar.gz 2aa049170e8088de59bd70eed8220f552093932d cygwin-20190320.tar.gz fb898e263fcf6f847d97f564fe49ea0760bb453f cygwin-20190322.tar.gz cd01fac0ab4fdb50a2bbb6416da3f15a4d540da1 cygwin-20190524.tar.gz caa616fbab14c1fce790a87db5c4758c1322cf28 cygwin-20200116.tar.gz f053a9ab01f0be9cb456560f7eff66a8e7ba2fd2 cygwin-20200323.tar.gz 0107343cd2562618629f73b2581168f0045c3234 cygwin-20201002.tar.gz a3d481401b633c0ee6abf1da07d75da94076574c cygwin-20201130.tar.gz 0fe549949a025d65d52d6deca30554de8fca3b6e e-1.5.tar.gz 2e293256a134eb8e5b1a283361b15eb812fbfbf1 e-1.6-1.tar.gz e1919e72416cbd7ac8de5455caba8901acc7b44d e-1.6-2.tar.gz b98a98025d1f7e560ca6864a53296137dae736b4 e-1.6.tar.gz c11b25c919e2ec44fe2b6ac2086337b456344e97 e-1.8.tar.gz a895a96ec7e6fcc275114bb9b4c92b20fac73dba e-2.0-1.tar.gz 2ebd7e3067a2cdae3cb8b073345827013978d74b e-2.0-2.tar.gz fac44556dd16f666a2c186be30aa6d8c67228bb9 e-2.0-3.tar.gz 5d36fb62912cfcff7f3b99a6266c578aafc288b7 e-2.0-4.tar.gz 3223c51c0b16fe00ced4ae903041fff858e61742 e-2.0-5.tar.gz 6b962a6b4539b7ca4199977973c61a8c98a492e8 e-2.0.tar.gz 66449a7b68b7d85a7189e10735a81069356123b6 e-2.5-1.tar.gz 813b66ca151d7a39b5cacb39ab52acabc2a54845 e-2.5.tar.gz 6d34b18ca0aa1e10bab6413045d079188c0e2dfb exec_process-1.0.1.tar.gz 8b9bffd10e396d965e815418295f2ee2849bea75 exec_process-1.0.2.tar.gz e6aada354da11e533af2dee3dcdd96c06479b053 exec_process-1.0.3.tar.gz ae7ee5becb26512f18c609e83b34612918bae5f0 exec_process-1.0.tar.gz 7a4b46752aa60c1ee6c53a2c128dedc8255a4568 flatlaf-0.46-1.tar.gz ed5cbc216389b655dac21a19e770a02a96867b85 flatlaf-0.46.tar.gz +d37b38b9a27a6541c644e22eeebe9a339282173d flatlaf-1.0-rc1.tar.gz 683acd94761ef460cca1a628f650355370de5afb hol-light-bundle-0.5-126.tar.gz 20b53cfc3ffc5b15c1eabc91846915b49b4c0367 isabelle_fonts-20151021.tar.gz 736844204b2ef83974cd9f0a215738b767958c41 isabelle_fonts-20151104.tar.gz 9502c1aea938021f154adadff254c5c55da344bd isabelle_fonts-20151106.tar.gz f5c63689a394b974ac0d365debda577c6fa31c07 isabelle_fonts-20151107.tar.gz 812101680b75f7fa9ee8e138ea6314fa4824ea2d isabelle_fonts-20151229.tar.gz 2730e1475c7d655655882e75743e0b451725a274 isabelle_fonts-20151231.tar.gz 1f004a6bf20088a7e8f1b3d4153aa85de6fc1091 isabelle_fonts-20160101.tar.gz 379d51ef3b71452dac34ba905def3daa8b590f2e isabelle_fonts-20160102.tar.gz 878536aab1eaf1a52da560c20bb41ab942971fa3 isabelle_fonts-20160227.tar.gz 8ff0eedf0191d808ecc58c6b3149a4697f29ab21 isabelle_fonts-20160812-1.tar.gz 9283e3b0b4c7239f57b18e076ec8bb21021832cb isabelle_fonts-20160812.tar.gz 620cffeb125e198b91a716da116f754d6cc8174b isabelle_fonts-20160830.tar.gz b70690c85c05d0ca5bc29287abd20142f6ddcfb0 isabelle_fonts-20171222.tar.gz c17c482e411bbaf992498041a3e1dea80336aaa6 isabelle_fonts-20171230.tar.gz 3affbb306baff37c360319b21cbaa2cc96ebb282 isabelle_fonts-20180113.tar.gz bee32019e5d7cf096ef2ea1d836c732e9a7628cc isabelle_fonts-20181124.tar.gz f249bc2c85bd2af9eee509de17187a766b74ab86 isabelle_fonts-20181129.tar.gz 928b5320073d04d93bcc5bc4347b6d01632b9d45 isabelle_fonts-20190210.tar.gz dfcdf9a757b9dc36cee87f82533b43c58ba84abe isabelle_fonts-20190309.tar.gz 95e3acf038df7fdeeacd8b4769930e6f57bf3692 isabelle_fonts-20190406.tar.gz dabcf5085d67c99159007007ff0e9bf775e423d1 isabelle_fonts-20190409.tar.gz 76827987c70051719e117138858930d42041f57d isabelle_fonts-20190717.tar.gz 0b2206f914336dec4923dd0479d8cee4b904f544 jdk-11+28.tar.gz 3e05213cad47dbef52804fe329395db9b4e57f39 jdk-11.0.2+9.tar.gz 06ac8993b5bebd02c70f1bd18ce13075f01115f3 jdk-11.0.3+7.tar.gz e7e3cc9b0550c1e5d71197ad8c30f92b622d7183 jdk-11.0.4+11.tar.gz 49007a84a2643a204ce4406770dfd574b97880d9 jdk-11.0.5+10.tar.gz 3c250e98eb82f98afc6744ddc9170d293f0677e1 jdk-11.0.6+10.tar.gz 76cf7a141e15db30bd975089c65c833b58092aa7 jdk-11.0.9+11.tar.gz 71d19df63816e9be1c4c5eb44aea7a44cfadb319 jdk-11.tar.gz 72455a2fdb6cced9cd563f4d5d6134f7a6c34913 jdk-15.0.1+9.tar.gz 8d83e433c1419e0c0cc5fd1762903d11b4a5752c jdk-6u31.tar.gz 38d2d2a91c66714c18430e136e7e5191af3996e6 jdk-7u11.tar.gz d765bc4ad2f34d494429b2a8c1563c49db224944 jdk-7u13.tar.gz 13a265e4b706ece26fdfa6fc9f4a3dd1366016d2 jdk-7u21.tar.gz 5080274f8721a18111a7f614793afe6c88726739 jdk-7u25.tar.gz dd24d63afd6d17b29ec9cb2b2464d4ff2e02de2c jdk-7u40.tar.gz ec740ee9ffd43551ddf1e5b91641405116af6291 jdk-7u6.tar.gz 71b629b2ce83dbb69967c4785530afce1bec3809 jdk-7u60.tar.gz e119f4cbfa2a39a53b9578d165d0dc44b59527b7 jdk-7u65.tar.gz d6d1c42989433839fe64f34eb77298ef6627aed4 jdk-7u67.tar.gz b66039bc6dc2bdb2992133743005e1e4fc58ae24 jdk-7u72.tar.gz d980055694ddfae430ee001c7ee877d535e97252 jdk-7u76.tar.gz baa6de37bb6f7a104ce5fe6506bca3d2572d601a jdk-7u80.tar.gz 7d5b152ac70f720bb9e783fa45ecadcf95069584 jdk-7u9.tar.gz baf275a68d3f799a841932e4e9a95a1a604058ae jdk-8u102.tar.gz 5442f1015a0657259be0590b04572cd933431df7 jdk-8u11.tar.gz 741de6a4a805a0f9fb917d1845409e99346c2747 jdk-8u112.tar.gz ae7df8bd0c18eb40237cf54cc28933f4893b9c92 jdk-8u121.tar.gz 51531a3a0c16e180ed95cb7d2bd680c2ec0aa553 jdk-8u131.tar.gz e45edcf184f608d6f4a7b966d65a5d3289462693 jdk-8u144.tar.gz 264e806b9300a4fb3b6e15ba0e2c664d4ea698c8 jdk-8u152.tar.gz 84b04d877a2ea3a4e2082297b540e14f76722bc5 jdk-8u162.tar.gz 87303a0de3fd595aa3857c8f7cececa036d6ed18 jdk-8u172.tar.gz 9ae0338a5277d8749b4b4c7e65fc627319d98b27 jdk-8u181.tar.gz cfecb1383faaf027ffbabfcd77a0b6a6521e0969 jdk-8u20.tar.gz 44ffeeae219782d40ce6822b580e608e72fd4c76 jdk-8u31.tar.gz c95ebf7777beb3e7ef10c0cf3f734cb78f9828e4 jdk-8u5.tar.gz 4132cf52d5025bf330d53b96a5c6466fef432377 jdk-8u51.tar.gz 74df343671deba03be7caa49de217d78b693f817 jdk-8u60.tar.gz dfb087bd64c3e5da79430e0ba706b9abc559c090 jdk-8u66.tar.gz 2ac389babd15aa5ddd1a424c1509e1c459e6fbb1 jdk-8u72.tar.gz caa0cf65481b6207f66437576643f41dabae3c83 jdk-8u92.tar.gz 44775a22f42a9d665696bfb49e53c79371c394b0 jedit_build-20111217.tar.gz a242a688810f2bccf24587b0062ce8027bf77fa2 jedit_build-20120304.tar.gz 4c948dee53f74361c097c08f49a1a5ff9b17bd1d jedit_build-20120307.tar.gz 9c221fe71af8a063fcffcce21672a97aea0a8d5b jedit_build-20120313.tar.gz ed72630f307729df08fdedb095f0af8725f81b9c jedit_build-20120327.tar.gz 6425f622625024c1de27f3730d6811f6370a19cd jedit_build-20120414.tar.gz 7b012f725ec1cc102dc259df178d511cc7890bba jedit_build-20120813.tar.gz 8e1d36f5071e3def2cb281f7fefe9f52352cb88f jedit_build-20120903.tar.gz 8fa0c67f59beba369ab836562eed4e56382f672a jedit_build-20121201.tar.gz 06e9be2627ebb95c45a9bcfa025d2eeef086b408 jedit_build-20130104.tar.gz c85c0829b8170f25aa65ec6852f505ce2a50639b jedit_build-20130628.tar.gz 5de3e399be2507f684b49dfd13da45228214bbe4 jedit_build-20130905.tar.gz 87136818fd5528d97288f5b06bd30c787229eb0d jedit_build-20130910.tar.gz c63189cbe39eb8104235a0928f579d9523de78a9 jedit_build-20130925.tar.gz 65cc13054be20d3a60474d406797c32a976d7db7 jedit_build-20130926.tar.gz 30ca171f745adf12b65c798c660ac77f9c0f9b4b jedit_build-20131106.tar.gz 054c1300128f8abd0f46a3e92c756ccdb96ff2af jedit_build-20140405.tar.gz 4a963665537ea66c69de4d761846541ebdbf69f2 jedit_build-20140511.tar.gz a9d637a30f6a87a3583f265da51e63e3619cff52 jedit_build-20140722.tar.gz f29391c53d85715f8454e1aaa304fbccc352928f jedit_build-20141018.tar.gz d7206d4c9d14d3f4c8115422b7391ffbcc6e80b4 jedit_build-20141026.tar.gz f15d36abc1780875a46b6dbd4568e43b776d5db6 jedit_build-20141104.tar.gz 14ce124c897abfa23713928dc034d6ef0e1c5031 jedit_build-20150228.tar.gz b5f7115384c167559211768eb5fe98138864473b jedit_build-20151023.tar.gz 8ba7b6791be788f316427cdcd805daeaa6935190 jedit_build-20151124.tar.gz c70c5a6c565d435a09a8639f8afd3de360708e1c jedit_build-20160330.tar.gz d4e1496c257659cf15458d718f4663cdd95a404e jedit_build-20161024.tar.gz d806c1c26b571b5b4ef05ea11e8b9cf936518e06 jedit_build-20170319.tar.gz 7bcb202e13358dd750e964b2f747664428b5d8b3 jedit_build-20180417.tar.gz 23c8a05687d05a6937f7d600ac3aa19e3ce59c9c jedit_build-20180504.tar.gz 9c64ee0705e5284b507ca527196081979d689519 jedit_build-20181025.tar.gz cfa65bf8720b9b798ffa0986bafbc8437f44f758 jedit_build-20181026.tar.gz 847492b75b38468268f9ea424d27d53f2d95cef4 jedit_build-20181203.tar.gz 536a38ed527115b4bf2545a2137ec57b6ffad718 jedit_build-20190120.tar.gz 58b9f03e5ec0b85f8123c31f5d8092dae5803773 jedit_build-20190130.tar.gz ec0aded5f2655e2de8bc4427106729e797584f2f jedit_build-20190224.tar.gz 1e53598a02ec8d8736b15f480cbe2c84767a7827 jedit_build-20190508.tar.gz b9c6f49d3f6ebe2e85a50595ce7412d01a4314ac jedit_build-20190717.tar.gz 1c753beb93e92e95e99e8ead23a68346bd1af44a jedit_build-20200610.tar.gz 533b1ee6459f59bcbe4f09e214ad2cb990fb6952 jedit_build-20200908.tar.gz f9966b5ed26740bb5b8bddbfe947fcefaea43d4d jedit_build-20201223.tar.gz 0bd2bc2d9a491ba5fc8dd99df27c04f11a72e8fa jfreechart-1.0.14-1.tar.gz 8122526f1fc362ddae1a328bdbc2152853186fee jfreechart-1.0.14.tar.gz d911f63a5c9b4c7335bb73f805cb1711ce017a84 jfreechart-1.5.0.tar.gz d84b7d8ef273afec55284327fca7dd20f5ecb77a jfreechart-1.5.1.tar.gz c8a19a36adf6cefa779d85f22ded2f4654e68ea5 jortho-1.0-1.tar.gz 2155e0bdbd29cd3d2905454de2e7203b9661d239 jortho-1.0-2.tar.gz ffe179867cf5ffaabbb6bb096db9bdc0d7110065 jortho-1.0.tar.gz 6c737137cc597fc920943783382e928ea79e3feb kodkodi-1.2.16.tar.gz afb04f4048a87bb888fe7b05b0139cb060c7925b kodkodi-1.5.2-1.tar.gz 5f95c96bb99927f3a026050f85bd056f37a9189e kodkodi-1.5.2.tar.gz 0634a946b216f7f07f1a0f7e28cf345daa28828f kodkodi-1.5.3.tar.gz 52e95b3493d71902f9df89d0bb59d0046a5f0c63 kodkodi-1.5.4-1.tar.gz 267189c637de26cf304d699cfa95389da002b250 kodkodi-1.5.4.tar.gz 3ecdade953bb455ed2907952be287d7e5cf6533b kodkodi-1.5.5.tar.gz 6b12bf3f40b16fae8ff22aa39171fa018d107cb3 kodkodi-1.5.6.tar.gz 377e36efb8608e6c828c7718d890e97fde2006a4 linux_app-20131007.tar.gz 759848095e2ad506083d92b5646947e3c32f27a0 linux_app-20191223.tar.gz 1a449ce69ac874e21804595d16aaaf5a0d0d0c10 linux_app-20200110.tar.gz 0aab4f73ff7f5e36f33276547e10897e1e56fb1d macos_app-20130716.tar.gz ad5d0e640ce3609a885cecab645389a2204e03bb macos_app-20150916.tar.gz 400af57ec5cd51f96928d9de00d077524a6fe316 macos_app-20181205.tar.gz 3bc42b8e22f0be5ec5614f1914066164c83498f8 macos_app-20181208.tar.gz +0fbc826e4fcb95bb9e1814642f7fce788e7fe1c3 naproche-20210122-1.tar.gz +eda10c62da927a842c0a8881f726eac85e1cb4f7 naproche-20210122.tar.gz +edcb517b7578db4eec1b6573b624f291776e11f6 naproche-20210124.tar.gz 26df569cee9c2fd91b9ac06714afd43f3b37a1dd nunchaku-0.3.tar.gz e573f2cbb57eb7b813ed5908753cfe2cb41033ca nunchaku-0.5.tar.gz fe57793aca175336deea4f5e9c0d949a197850ac opam-1.2.2.tar.gz eb499a18e7040ca0fe1ca824c9dcb2087c47c9ba opam-2.0.3-1.tar.gz 002f74c9e65e650de2638bf54d7b012b8de76c28 opam-2.0.3.tar.gz ddb3b438430d9565adbf5e3d913bd52af8337511 opam-2.0.6.tar.gz fc66802c169f44511d3be30435eb89a11e635742 opam-2.0.7.tar.gz 1c8cb6a8f4cbeaedce2d6d1ba8fc7e2ab3663aeb polyml-5.4.1.tar.gz a3f9c159a0ee9a63b7a5d0c835ed9c2c908f8b56 polyml-5.5.0-1.tar.gz 7d604a99355efbfc1459d80db3279ffa7ade3e39 polyml-5.5.0-2.tar.gz b3d776e6744f0cd2773d467bc2cfe1de3d1ca2fd polyml-5.5.0-3.tar.gz 1812e9fa6d163f63edb93e37d1217640a166cf3e polyml-5.5.0.tar.gz 36f5b8224f484721749682a3655c796a55a2718d polyml-5.5.1-1.tar.gz 36f78f27291a9ceb13bf1120b62a45625afd44a6 polyml-5.5.1.tar.gz a588640dbf5da9ae15455b02ef709764a48637dc polyml-5.5.2-1.tar.gz 4b690390946f7bfb777b89eb16d6f08987cca12f polyml-5.5.2-2.tar.gz 5b31ad8556e41dfd6d5e85f407818be399aa3d2a polyml-5.5.2-3.tar.gz 532f6e8814752aeb406c62fabcfd2cc05f8a7ca8 polyml-5.5.2.tar.gz 1c53f699d35c0db6c7cf4ea51f2310adbd1d0dc5 polyml-5.5.3-20150820.tar.gz b4b624fb5f34d1dc814fb4fb469fafd7d7ea018a polyml-5.5.3-20150908.tar.gz b668e1f43a41608a8eb365c5e19db6c54c72748a polyml-5.5.3-20150911.tar.gz 1f5cd9b1390dab13861f90dfc06d4180cc107587 polyml-5.5.3-20150916.tar.gz f78896e588e8ebb4da57bf0c95210b0f0fa9e551 polyml-5.6-1.tar.gz 21fa0592b7dfd23269063f42604438165630c0f0 polyml-5.6-2.tar.gz 03ba81e595fa6d6df069532d67ad3195c37d9046 polyml-5.6-20151123.tar.gz 822f489c18e38ce5ef979ec21dccce4473e09be6 polyml-5.6-20151206.tar.gz bd6a448f0e0d5787747f4f30ca661f9c1868e4a7 polyml-5.6-20151223.tar.gz 5b70c12c95a90d858f90c1945011289944ea8e17 polyml-5.6-20160118.tar.gz 5b19dc93082803b82aa553a5cfb3e914606c0ffd polyml-5.6.tar.gz 80b923fca3533bf291ff9da991f2262a98b68cc4 polyml-5.7-20170217.tar.gz 381a70cecf0fdee47f6842e2bdb5107ed52adab6 polyml-5.7.1-1.tar.gz 39dac33b569ac66f76126b8f4edc6d9227bd8a63 polyml-5.7.1-2.tar.gz 0b896ccc35bd3f2541cd55e6f0ed14637ed9fc68 polyml-5.7.1-4.tar.gz 262450ac9966abebae2e1d4f9ae703cfe0f5d8d9 polyml-5.7.1-5.tar.gz 1aeb57877d694db7fe4d4395287cddf3bc77710b polyml-5.7.1-6.tar.gz e3e7e20b1e0e5d5d68df4cd4caa1e1a7410d46b6 polyml-5.7.1-7.tar.gz 1430533c09b17f8be73798a47a5f409d43a04cf4 polyml-5.7.1-8.tar.gz 171b5783b88522a35e4822b19ef8ba838c04f494 polyml-5.7.1.tar.gz 5fbcab1da2b5eb97f24da2590ece189d55b3a105 polyml-5.7.tar.gz 51e024225b460900da5279f0b91b217085f98cf9 polyml-5.8-20190220.tar.gz 20a83fa58d497b533150defe39bcd4540529b25f polyml-5.8-20190306.tar.gz 9f0e9cd10df4c3383b063eb076e8b698ca50c3d0 polyml-5.8.1-20191101.tar.gz f46deb909d645ac8c140968e4d32b5763beb9add polyml-5.8.1-20191113.tar.gz 36a40a981b57daae0463d14940a8edf6fa1af179 polyml-5.8.1-20191114.tar.gz 525b05536b08c11a1eae943fe6818a8622326084 polyml-5.8.1-20191124.tar.gz 9043828803483ca14df64488dff014ad050a6d34 polyml-5.8.1-20200228.tar.gz 1186607e2c43b77db86731f12fbedb531ca50a21 polyml-5.8.1-20200708.tar.gz 22ae16bf7850e73b903d2ca8eb506da05b441cf3 polyml-5.8.1.tar.gz d1fd6eced69dc1df7226432fcb824568e0994ff2 polyml-5.8.tar.gz 49f1adfacdd6d29fa9f72035d94a31eaac411a97 polyml-test-0a6ebca445fc.tar.gz 2a8c4421e0a03c0d6ad556b3c36c34eb11568adb polyml-test-1236652ebd55.tar.gz 8e83fb5088cf265902b8da753a8eac5fe3f6a14b polyml-test-159dc81efc3b.tar.gz a0064c157a59e2706e18512a49a6dca914fa17fc polyml-test-1b2dcf8f5202.tar.gz 4e6543dbbb2b2aa402fd61428e1c045c48f18b47 polyml-test-79534495ee94.tar.gz 853ab0e9ff2b73790cc80a2d36cbff8b03e50a8e polyml-test-7a7b742897e9.tar.gz 85bfda83d138e936fdafd68ed3627b1058e5c2c3 polyml-test-7e49fce62e3d.tar.gz c629cd499a724bbe37b962f727e4ff340c50299d polyml-test-8529546198aa.tar.gz 7df4857d73dbc9edda25a6ad329e47639e70fadf polyml-test-8fda4fd22441.tar.gz 2b7c02b67feb2f44dda6938a7244f4257e7c580c polyml-test-905dae2ebfda.tar.gz 3dfdc58e5d9b28f038a725e05c9c2f2ce0bb2632 polyml-test-a3cfdf648da-1.tar.gz e2f075b0cc709f4f7f6492b725362f9010b2c6d1 polyml-test-a3cfdf648da-2.tar.gz 33568f69ce813b7405386ddbefa14ad0342bb8f0 polyml-test-a3cfdf648da.tar.gz 4bedaac4f1fb9a9199aa63695735063c47059003 polyml-test-a444f281ccec.tar.gz f3031692edcc5d8028a42861e4e40779f0f9d3e1 polyml-test-b68438d33c69.tar.gz cb2318cff6ea9293cd16a4435a4fe28ad9dbe0b8 polyml-test-cf46747fee61.tar.gz 67ffed2f98864721bdb1e87f0ef250e4c69e6160 polyml-test-d68c6736402e.tar.gz b4ceeaac47f3baae41c2491a8368b03217946166 polyml-test-e7a662f8f9c4.tar.gz 609c7d09d3ed01156ff91261e801e2403ff93729 polyml-test-e8d82343b692.tar.gz b6d87466e9b44e8ef4a2fac74c96b139080a506a polyml-test-f54aa41240d0.tar.gz d365f3fc11c2427cafc62b3c79951880a1476ebb polyml-test-f86ae3dc1686.tar.gz a619177143fea42a464f49bb864665407c07a16c polyml-test-fb4f42af00fa.tar.gz 53123dc011b2d4b4e8fe307f3c9fa355718ad01a postgresql-42.1.1.tar.gz 3a5d31377ec07a5069957f5477a4848cfc89a594 postgresql-42.1.4.tar.gz 7d6ef4320d5163ceb052eb83c1cb3968f099a422 postgresql-42.2.18.tar.gz e7cd5c7955e9eb5ce8cd07feb97230b23d2eec40 postgresql-42.2.2.tar.gz 231b33c9c3c27d47e3ba01b399103d70509e0731 postgresql-42.2.5.tar.gz 6335fbc0658e447b5b9bc48c9ad36e33a05bb72b postgresql-42.2.9.tar.gz f132329ca1045858ef456cc08b197c9eeea6881b postgresql-9.4.1212.tar.gz 0885e1f1d8feaca78d2f204b6487e6eec6dfab4b scala-2.10.0.tar.gz f7dc7a4e1aea46408fd6e44b8cfacb33af61afbc scala-2.10.1.tar.gz 207e4916336335386589c918c5e3f3dcc14698f2 scala-2.10.2.tar.gz 21c8ee274ffa471ab54d4196ecd827bf3d43e591 scala-2.10.3.tar.gz d4688ddaf83037ca43b5bf271325fc53ae70e3aa scala-2.10.4.tar.gz 44d12297a78988ffd34363535e6a8e0d94c1d8b5 scala-2.11.0.tar.gz 14f20de82b25215a5e055631fb147356400625e6 scala-2.11.1.tar.gz 4fe9590d08e55760b86755d3fab750e90ac6c380 scala-2.11.2.tar.gz 27a296495b2167148de06314ed9a942f2dbe23fe scala-2.11.4.tar.gz 4b24326541161ce65424293ca9da3e7c2c6ab452 scala-2.11.5.tar.gz e7cf20e3b27c894c6127c7a37042c1667f57385e scala-2.11.6.tar.gz 4810c1b00719115df235be1c5991aa6ea7186134 scala-2.11.7.tar.gz 3eca4b80710996fff87ed1340dcea2c5f6ebf4f7 scala-2.11.8.tar.gz 0004e53f885fb165b50c95686dec40d99ab0bdbd scala-2.12.0.tar.gz 059cbdc58d36e3ac1fffcccd9139ecd34f271882 scala-2.12.10.tar.gz 82056106aa6fd37c159ea76d16096c20a749cccd scala-2.12.11.tar.gz fe7ff585acffaad7f0dd4a1d079134d15c26ed0d scala-2.12.12.tar.gz 74a8c3dab3a25a87357996ab3e95d825dc820fd0 scala-2.12.2.tar.gz d66796a68ec3254b46b17b1f8ee5bcc56a93aacf scala-2.12.3.tar.gz 1636556167dff2c191baf502c23f12e09181ef78 scala-2.12.4.tar.gz 8171f494bba54fb0d01c887f889ab8fde7171c2a scala-2.12.5.tar.gz 54c1b06fa2c5f6c2ab3d391ef342c0532cd7f392 scala-2.12.6.tar.gz 02358f00acc138371324b6248fdb62eed791c6bd scala-2.12.7.tar.gz 201c05ae9cc382ee6c08af49430e426f6bbe0d5a scala-2.12.8.tar.gz ec53cce3c5edda1145ec5d13924a5f9418995c15 scala-2.13.4.tar.gz b447017e81600cc5e30dd61b5d4962f6da01aa80 scala-2.8.1.final.tar.gz 5659440f6b86db29f0c9c0de7249b7e24a647126 scala-2.9.2.tar.gz abe7a3b50da529d557a478e9f631a22429418a67 smbc-0.4.1.tar.gz cbd491c0feba1d21019d05564e76dd04f592ccb4 spass-3.8ds-1.tar.gz edaa1268d82203067657aabcf0371ce7d4b579b9 spass-3.8ds-2.tar.gz 43b5afbcad575ab6817d2289756ca22fd2ef43a9 spass-3.8ds.tar.gz b016a785f1f78855c00d351ff598355c3b87450f sqlite-jdbc-3.18.0-1.tar.gz b85b5bc071a59ef2a8326ceb1617d5a9a5be41cf sqlite-jdbc-3.18.0.tar.gz e56117a67ab01fb24c7fc054ede3160cefdac5f8 sqlite-jdbc-3.20.0.tar.gz 27aeac6a91353d69f0438837798ac4ae6f9ff8c5 sqlite-jdbc-3.23.1.tar.gz 4d17611857fa3a93944c1f159c0fd2a161967aaf sqlite-jdbc-3.27.2.1.tar.gz 806be457eb79408fcc5a72aeca3f64b2d89a6b63 sqlite-jdbc-3.30.1.tar.gz cba2b194114216b226d75d49a70d1bd12b141ac8 sqlite-jdbc-3.32.3.2.tar.gz 29306acd6ce9f4c87032b2c271c6df035fe7d4d3 sqlite-jdbc-3.34.0.tar.gz 8d20968603f45a2c640081df1ace6a8b0527452a sqlite-jdbc-3.8.11.2.tar.gz 2369f06e8d095f9ba26df938b1a96000e535afff ssh-java-20161009.tar.gz a2335d28b5b95d8d26500a53f1a9303fc5beaf36 ssh-java-20190323.tar.gz fdc415284e031ee3eb2f65828cbc6945736fe995 stack-1.9.1.tar.gz 6e19948ff4a821e2052fc9b3ddd9ae343f4fcdbb stack-1.9.3.tar.gz f969443705aa8619e93af5b34ea98d15cd7efaf1 stack-2.1.3.tar.gz ebd0221d038966aa8bde075f1b0189ff867b02ca stack-2.5.1.tar.gz 1f4a2053cc1f34fa36c4d9d2ac906ad4ebc863fd sumatra_pdf-2.1.1.tar.gz 601e08d048d8e50b0729429c8928b667d9b6bde9 sumatra_pdf-2.3.2.tar.gz 14d46c2eb1a34821703da59d543433f581e91df3 sumatra_pdf-2.4.tar.gz 44d67b6742919ce59a42368fc60e2afa210a3e42 sumatra_pdf-2.5.2.tar.gz 89719a13bc92810730a430973684629426ed1b2a sumatra_pdf-3.0.tar.gz f5afcc82f8e734665d38867e99475d3ad0d5ed15 sumatra_pdf-3.1.1.tar.gz a45eca5c1277f42f87bb8dc12a3074ccf5488221 sumatra_pdf-3.1.2-1.tar.gz 3b3239b2e6f8062b90d819f3703e30a50f4fa1e7 sumatra_pdf-3.1.2-2.tar.gz 8486387f61557147ec06b1f637117c017c8f0528 sumatra_pdf-3.1.2.tar.gz 869ea6d8ea35c8ba68d7fcb028f16b2b7064c5fd vampire-1.0.tar.gz 399f687b56575b93e730f68c91c989cb48aa34d8 vampire-4.2.2.tar.gz 98c5c79fef7256db9f64c8feea2edef0a789ce46 verit-2016post.tar.gz 52ba18a6c96b53c5ae9b179d5a805a0c08f1da6d verit-2020.10-rmx-1.tar.gz b6706e74e20e14038e9b38f0acdb5639a134246a verit-2020.10-rmx.tar.gz 81d21dfd0ea5c58f375301f5166be9dbf8921a7a windows_app-20130716.tar.gz fe15e1079cf5ad86f3cbab4553722a0d20002d11 windows_app-20130905.tar.gz e6a43b7b3b21295853bd2a63b27ea20bd6102f5f windows_app-20130906.tar.gz 8fe004aead867d4c82425afac481142bd3f01fb0 windows_app-20130908.tar.gz d273abdc7387462f77a127fa43095eed78332b5c windows_app-20130909.tar.gz c368908584e2bca38b3bcb20431d0c69399fc2f0 windows_app-20131130.tar.gz c3f5285481a95fde3c1961595b4dd0311ee7ac1f windows_app-20131201.tar.gz 14807afcf69e50d49663d5b48f4b103f30ae842b windows_app-20150821.tar.gz ed106181510e825bf959025d8e0a2fc3f78e7a3f windows_app-20180417.tar.gz e809e4ab0d33cb413a7c47dd947e7dbdfcca1c24 windows_app-20181002.tar.gz 9e96ba128a0617a9020a178781df49d48c997e19 windows_app-20181006.tar.gz 1c36a840320dfa9bac8af25fc289a4df5ea3eccb xz-java-1.2-1.tar.gz 2ae13aa17d0dc95ce254a52f1dba10929763a10d xz-java-1.2.tar.gz c22196148fcace5443a933238216cff5112948df xz-java-1.5.tar.gz 4368ee09154dff42666a8c87e072261745619e51 xz-java-1.6.tar.gz 63f5fa09e92a895cb9aea27d7142abc86c487d25 xz-java-1.8.tar.gz 4530a1aa6f4498ee3d78d6000fa71a3f63bd077f yices-1.0.28.tar.gz 3a8f77822278fe9250890e357248bc678d8fac95 z3-3.2-1.tar.gz 12ae71acde43bd7bed1e005c43034b208c0cba4c z3-3.2.tar.gz d94a716502c8503d63952bcb4d4176fac8b28704 z3-4.0.tar.gz 86e721296c400ada440e4a9ce11b9e845eec9e25 z3-4.3.0.tar.gz a8917c31b31c182edeec0aaa48870844960c8a61 z3-4.3.2pre-1.tar.gz 06b30757ff23aefbc30479785c212685ffd39f4d z3-4.3.2pre.tar.gz 93e7e4bddc6afcf87fe2b6656cfcb1b1acd0a4f8 z3-4.4.0pre-1.tar.gz b1bc411c2083fc01577070b56b94514676f53854 z3-4.4.0pre-2.tar.gz 4c366ab255d2e9343fb635d44d4d55ddd24c76d0 z3-4.4.0pre-3.tar.gz 517ba7b94c1985416c5b411c8ae84456367eb231 z3-4.4.0pre.tar.gz aa20745f0b03e606b1a4149598e0c7572b63c657 z3-4.8.3.tar.gz 9dfeb39c87393af7b6a34118507637aa53aca05e zipperposition-2.0-1.tar.gz b884c60653002a7811e3b652ae0515e825d98667 zipperposition-2.0.tar.gz diff --git a/Admin/components/main b/Admin/components/main --- a/Admin/components/main +++ b/Admin/components/main @@ -1,28 +1,28 @@ #main components for everyday use, without big impact on overall build time bash_process-1.2.3-1 bib2xhtml-20190409 csdp-6.1.1 cvc4-1.8 e-2.5-1 -flatlaf-0.46-1 +flatlaf-1.0-rc1 isabelle_fonts-20190717 jdk-15.0.1+9 jedit_build-20201223 jfreechart-1.5.1 jortho-1.0-2 kodkodi-1.5.6 nunchaku-0.5 opam-2.0.7 polyml-test-f86ae3dc1686 postgresql-42.2.18 scala-2.13.4 smbc-0.4.1 spass-3.8ds-2 sqlite-jdbc-3.34.0 ssh-java-20190323 stack-2.5.1 vampire-4.2.2 verit-2020.10-rmx-1 xz-java-1.8 z3-4.4.0pre-3 zipperposition-2.0-1 diff --git a/NEWS b/NEWS --- a/NEWS +++ b/NEWS @@ -1,16165 +1,16172 @@ Isabelle NEWS -- history of user-relevant changes ================================================= (Note: Isabelle/jEdit shows a tree-view of the NEWS file in Sidekick.) -New in this Isabelle version ----------------------------- - - - New in Isabelle2021 (February 2021) ----------------------------------- *** General *** * HTML presentation uses rich markup produced by Isabelle/PIDE, resulting in more colors and links. * HTML presentation includes auxiliary files (e.g. ML) for each theory. * Proof method "subst" is confined to the original subgoal range: its included distinct_subgoals_tac no longer affects unrelated subgoals. Rare INCOMPATIBILITY. * Theory_Data extend operation is obsolete and needs to be the identity function; merge should be conservative and not reset to the empty value. Subtle INCOMPATIBILITY and change of semantics (due to Theory.join_theory from Isabelle2020). Special extend/merge behaviour at the begin of a new theory can be achieved via Theory.at_begin. *** Isabelle/jEdit Prover IDE *** * Improved GUI look-and-feel: the portable and scalable "FlatLaf Light" is used by default on all platforms (appearance similar to IntelliJ IDEA). * Improved markup for theory header imports: hyperlinks for theory files work without formal checking of content. * The prover process can download auxiliary files (e.g. 'ML_file') for theories with remote URL. This requires the external "curl" program. * Action "isabelle.goto-entity" (shortcut CS+d) jumps to the definition of the formal entity at the caret position. * The visual feedback on caret entity focus is normally restricted to definitions within the visible text area. The keyboard modifier "CS" overrides this: then all defining and referencing positions are shown. See also option "jedit_focus_modifier". * The jEdit status line includes widgets both for JVM and ML heap usage. Ongoing ML ongoing garbage collection is shown as "ML cleanup". * The Monitor dockable provides buttons to request a full garbage collection and sharing of live data on the ML heap. It also includes information about the Java Runtime system. * PIDE support for session ROOTS: markup for directories. * Update to jedit-5.6.0, the latest release. This version works properly on macOS by default, without the special MacOSX plugin. -* On macOS Big Sur full-screen mode works requires to change "System -Preferences / General / Prefer tabs: in full screen" to never. - * Action "full-screen-mode" (shortcut F11 or S+F11) has been modified for better approximate window size on macOS and Linux/X11. +* Improved GUI support for macOS 11.1 Big Sur: native fullscreen mode, +but non-native look-and-feel (FlatLaf). + +* IDE support for Naproche-SAD: Proof Checking of Natural Mathematical +Documents. See also $NAPROCHE_HOME/examples for files with .ftl or +.ftl.tex extension. + *** Document preparation *** * Keyword 'document_theories' within ROOT specifies theories from other sessions that should be included in the generated document source directory. This does not affect the generated session.tex: \input{...} needs to be used separately. * The standard LaTeX engine is now lualatex, according to settings variable ISABELLE_PDFLATEX. This is mostly upwards compatible with old pdflatex, but text encoding needs to conform strictly to utf8. Rare INCOMPATIBILITY. * Discontinued obsolete DVI format and ISABELLE_LATEX settings variable: document output is always PDF. * Antiquotation @{tool} refers to Isabelle command-line tools, with completion and formal reference to the source (external script or internal Scala function). * Antiquotation @{bash_function} refers to GNU bash functions that are checked within the Isabelle settings environment. * Antiquotations @{scala}, @{scala_object}, @{scala_type}, @{scala_method} refer to checked Isabelle/Scala entities. *** Pure *** * Session Pure-Examples contains notable examples for Isabelle/Pure (former entries of HOL-Isar_Examples). * Named contexts (locale and class specifications, locale and class context blocks) allow bundle mixins for the surface context. This allows syntax notations to be organized within bundles conveniently. See theory "HOL-ex.Specifications_with_bundle_mixins" for examples and the isar-ref manual for syntax descriptions. * Definitions in locales produce rule which can be added as congruence rule to protect foundational terms during simplification. * Consolidated terminology and function signatures for nested targets: - Local_Theory.begin_nested replaces Local_Theory.open_target - Local_Theory.end_nested replaces Local_Theory.close_target - Combination of Local_Theory.begin_nested and Local_Theory.end_nested(_result) replaces Local_Theory.subtarget(_result) INCOMPATIBILITY. * Local_Theory.init replaces Generic_Target.init. Minor INCOMPATIBILITY. *** HOL *** * Session HOL-Examples contains notable examples for Isabelle/HOL (former entries of HOL-Isar_Examples, HOL-ex etc.). * An updated version of the veriT solver is now included as Isabelle component. It can be used in the "smt" proof method via "smt (verit)" or via "declare [[smt_solver = verit]]" in the context; see also session HOL-Word-SMT_Examples. * Zipperposition 2.0 is now included as Isabelle component for experimentation, e.g. in "sledgehammer [prover = zipperposition]". * Sledgehammer: - support veriT in proof preplay - take adventage of more cores in proof preplay * Updated the Metis prover underlying the "metis" proof method to version 2.4 (release 20180810). The new version fixes one soundness defect and two incompleteness defects. Very slight INCOMPATIBILITY. * Nitpick/Kodkod may be invoked directly within the running Isabelle/Scala session (instead of an external Java process): this improves reactivity and saves resources. This experimental feature is guarded by system option "kodkod_scala" (default: true in PIDE interaction, false in batch builds). * Simproc "defined_all" and rewrite rule "subst_all" perform more aggressive substitution with variables from assumptions. INCOMPATIBILITY, consider repairing proofs locally like this: supply subst_all [simp del] [[simproc del: defined_all]] * Simproc "datatype_no_proper_subterm" rewrites equalities "lhs = rhs" on datatypes to "False" if either side is a proper subexpression of the other (for any datatype with a reasonable size function). * Syntax for state monad combinators fcomp and scomp is organized in bundle state_combinator_syntax. Minor INCOMPATIBILITY. * Syntax for reflected term syntax is organized in bundle term_syntax, discontinuing previous locale term_syntax. Minor INCOMPATIBILITY. * New constant "power_int" for exponentiation with integer exponent, written as "x powi n". * Added the "at most 1" quantifier, Uniq. * For the natural numbers, "Sup {} = 0". * New constant semiring_char gives the characteristic of any type of class semiring_1, with the convenient notation CHAR('a). For example, CHAR(nat) = CHAR(int) = CHAR(real) = 0, CHAR(17) = 17. * HOL-Computational_Algebra.Polynomial: Definition and basic properties of algebraic integers. * Library theory "Bit_Operations" with generic bit operations. * Library theory "Signed_Division" provides operations for signed division, instantiated for type int. * Theory "Multiset": removed misleading notation \# for sum_mset; replaced with \\<^sub>#. Analogous notation for prod_mset also exists now. * New theory "HOL-Library.Word" takes over material from former session "HOL-Word". INCOMPATIBILITY: need to adjust imports. * Theory "HOL-Library.Word": Type word is restricted to bit strings consisting of at least one bit. INCOMPATIBILITY. * Theory "HOL-Library.Word": Bit operations NOT, AND, OR, XOR are based on generic algebraic bit operations from theory "HOL-Library.Bit_Operations". INCOMPATIBILITY. * Theory "HOL-Library.Word": Most operations on type word are set up for transfer and lifting. INCOMPATIBILITY. * Theory "HOL-Library.Word": Generic type conversions. INCOMPATIBILITY, sometimes additional rewrite rules must be added to applications to get a confluent system again. * Theory "HOL-Library.Word": Uniform polymorphic "mask" operation for both types int and word. INCOMPATIBILITY. * Theory "HOL-Library.Word": Syntax for signed compare operators has been consolidated with syntax of regular compare operators. Minor INCOMPATIBILITY. * Former session "HOL-Word": Various operations dealing with bit values represented as reversed lists of bools are separated into theory Reversed_Bit_Lists in session Word_Lib in the AFP. INCOMPATIBILITY. * Former session "HOL-Word": Theory "Word_Bitwise" has been moved to AFP entry Word_Lib as theory "Bitwise". INCOMPATIBILITY. * Former session "HOL-Word": Compound operation "bin_split" simplifies by default into its components "drop_bit" and "take_bit". INCOMPATIBILITY. * Former session "HOL-Word": Operations lsb, msb and set_bit are separated into theories Least_significant_bit, Most_significant_bit and Generic_set_bit respectively in session Word_Lib in the AFP. INCOMPATIBILITY. * Former session "HOL-Word": Ancient int numeral representation has been factored out in separate theory "Ancient_Numeral" in session Word_Lib in the AFP. INCOMPATIBILITY. * Former session "HOL-Word": Operations "bin_last", "bin_rest", "bin_nth", "bintrunc", "sbintrunc", "norm_sint", "bin_cat" and "max_word" are now mere input abbreviations. Minor INCOMPATIBILITY. * Former session "HOL-Word": Misc ancient material has been factored out into separate theories and moved to session Word_Lib in the AFP. See theory "Guide" there for further information. INCOMPATIBILITY. * Session HOL-TPTP: The "tptp_isabelle" and "tptp_sledgehammer" commands are in working order again, as opposed to outputting "GaveUp" on nearly all problems. * Session "HOL-Hoare": concrete syntax only for Hoare triples, not abstract language constructors. * Session "HOL-Hoare": now provides a total correctness logic as well. *** FOL *** * Added the "at most 1" quantifier, Uniq, as in HOL. * Simproc "defined_all" and rewrite rule "subst_all" have been changed as in HOL. *** ML *** * Antiquotations @{scala_function}, @{scala}, @{scala_thread} refer to registered Isabelle/Scala functions (of type String => String): invocation works via the PIDE protocol. * Path.append is available as overloaded "+" operator, similar to corresponding Isabelle/Scala operation. * ML statistics via an external Poly/ML process: this allows monitoring the runtime system while the ML program sleeps. *** System *** * Isabelle server allows user-defined commands via isabelle_scala_service. * Update/rebuild external provers on currently supported OS platforms, notably CVC4 1.8, E prover 2.5, SPASS 3.8ds, CSDP 6.1.1. * The command-line tool "isabelle log" prints prover messages from the build database of the given session, following the the order of theory sources, instead of erratic parallel evaluation. Consequently, the session log file is restricted to system messages of the overall build process, and thus becomes more informative. * Discontinued obsolete isabelle display tool, and DVI_VIEWER settings variable. * The command-line tool "isabelle logo" only outputs PDF; obsolete EPS (for DVI documents) has been discontinued. Former option -n has been turned into -o with explicit file name. Minor INCOMPATIBILITY. +* The command-line tool "isabelle components" supports new options -u +and -x to manage $ISABELLE_HOME_USER/etc/components without manual +editing of Isabelle configuration files. + * The shell function "isabelle_directory" (within etc/settings of components) augments the list of special directories for persistent symbolic path names. This improves portability of heap images and session databases. It used to be hard-wired for Isabelle + AFP, but other projects may now participate on equal terms. * The command-line tool "isabelle process" now prints output to stdout/stderr separately and incrementally, instead of just one bulk to stdout after termination. Potential INCOMPATIBILITY for external tools. * The command-line tool "isabelle console" now supports interrupts properly (on Linux and macOS). * Batch-builds via "isabelle build" use a PIDE session with special protocol: this allows to invoke Isabelle/Scala operations from Isabelle/ML. Big build jobs (e.g. AFP) require extra heap space for the java process, e.g. like this in $ISABELLE_HOME_USER/etc/settings: ISABELLE_TOOL_JAVA_OPTIONS="$ISABELLE_TOOL_JAVA_OPTIONS -Xmx8g" This includes full PIDE markup, if option "build_pide_reports" is enabled. * The command-line tool "isabelle build" provides option -P DIR to produce PDF/HTML presentation in the specified directory; -P: refers to the standard directory according to ISABELLE_BROWSER_INFO / ISABELLE_BROWSER_INFO_SYSTEM settings. Generated PDF documents are taken from the build database -- from this or earlier builds with option document=pdf. * The command-line tool "isabelle document" generates theory documents on the spot, using the underlying session build database (exported LaTeX sources or existing PDF files). INCOMPATIBILITY, the former "isabelle document" tool was rather different and has been discontinued. * The command-line tool "isabelle sessions" explores the structure of Isabelle sessions and prints result names in topological order (on stdout). * The Isabelle/Scala "Progress" interface changed slightly and "No_Progress" has been discontinued. INCOMPATIBILITY, use "new Progress" instead. * General support for Isabelle/Scala system services, configured via the shell function "isabelle_scala_service" in etc/settings (e.g. of an Isabelle component); see implementations of class Isabelle_System.Service in Isabelle/Scala. This supersedes former "isabelle_scala_tools" and "isabelle_file_format": minor INCOMPATIBILITY. * The syntax of theory load commands (for auxiliary files) is now specified in Isabelle/Scala, as instance of class isabelle.Command_Span.Load_Command registered via isabelle_scala_service in etc/settings. This allows more flexible schemes than just a list of file extensions. Minor INCOMPATIBILITY, e.g. see theory HOL-SPARK.SPARK_Setup to emulate the old behaviour. * JVM system property "isabelle.laf" has been discontinued; the default Swing look-and-feel is ""FlatLaf Light". * Isabelle/Phabricator supports Ubuntu 20.04 LTS. * Isabelle/Phabricator setup has been updated to follow ongoing development: libphutil has been discontinued. Minor INCOMPATIBILITY: existing server installations should remove libphutil from /usr/local/bin/isabelle-phabricator-upgrade and each installation root directory (e.g. /var/www/phabricator-vcs/libphutil). * Experimental support for arm64-linux platform. The reference platform is Raspberry Pi 4 with 8 GB RAM running Pi OS (64 bit). +* Partial support for arm64-darwin (Apple Silicon): most x86_64 +executables work well with runtime translation by Rosetta, but +occasional problems remain (e.g. external provers). + New in Isabelle2020 (April 2020) -------------------------------- *** General *** * Session ROOT files need to specify explicit 'directories' for import of theory files. Directories cannot be shared by different sessions. (Recall that import of theories from other sessions works via session-qualified theory names, together with suitable 'sessions' declarations in the ROOT.) * Internal derivations record dependencies on oracles and other theorems accurately, including the implicit type-class reasoning wrt. proven class relations and type arities. In particular, the formal tagging with "Pure.skip_proofs" of results stemming from "instance ... sorry" is now propagated properly to theorems depending on such type instances. * Command 'sorry' (oracle "Pure.skip_proofs") is more precise about the actual proposition that is assumed in the goal and proof context. This requires at least Proofterm.proofs = 1 to show up in theorem dependencies. * Command 'thm_oracles' prints all oracles used in given theorems, covering the full graph of transitive dependencies. * Command 'thm_deps' prints immediate theorem dependencies of the given facts. The former graph visualization has been discontinued, because it was hardly usable. * Refined treatment of proof terms, including type-class proofs for minor object-logics (FOL, FOLP, Sequents). * The inference kernel is now confined to one main module: structure Thm, without the former circular dependency on structure Axclass. * Mixfix annotations may use "' " (single quote followed by space) to separate delimiters (as documented in the isar-ref manual), without requiring an auxiliary empty block. A literal single quote needs to be escaped properly. Minor INCOMPATIBILITY. *** Isar *** * The proof method combinator (subproofs m) applies the method expression m consecutively to each subgoal, constructing individual subproofs internally. This impacts the internal construction of proof terms: it makes a cascade of let-expressions within the derivation tree and may thus improve scalability. * Attribute "trace_locales" activates tracing of locale instances during roundup. It replaces the diagnostic command 'print_dependencies', which has been discontinued. *** Isabelle/jEdit Prover IDE *** * Prover IDE startup is now much faster, because theory dependencies are no longer explored in advance. The overall session structure with its declarations of 'directories' is sufficient to locate theory files. Thus the "session focus" of option "isabelle jedit -S" has become obsolete (likewise for "isabelle vscode_server -S"). Existing option "-R" is both sufficient and more convenient to start editing a particular session. * Actions isabelle.tooltip (CS+b) and isabelle.message (CS+m) display tooltip message popups, corresponding to mouse hovering with/without the CONTROL/COMMAND key pressed. * The following actions allow to navigate errors within the current document snapshot: isabelle.first-error (CS+a) isabelle.last-error (CS+z) isabelle.next-error (CS+n) isabelle.prev-error (CS+p) * Support more brackets: \ \ (intended for implicit argument syntax). * Action isabelle.jconsole (menu item Plugins / Isabelle / Java/VM Monitor) applies the jconsole tool on the running Isabelle/jEdit process. This allows to monitor resource usage etc. * More adequate default font sizes for Linux on HD / UHD displays: automatic font scaling is usually absent on Linux, in contrast to Windows and macOS. * The default value for the jEdit property "view.antiAlias" (menu item Utilities / Global Options / Text Area / Anti Aliased smooth text) is now "subpixel HRGB", instead of former "standard". Especially on Linux this often leads to faster text rendering, but can also cause problems with odd color shades. An alternative is to switch back to "standard" here, and set the following Java system property: isabelle jedit -Dsun.java2d.opengl=true This can be made persistent via JEDIT_JAVA_OPTIONS in $ISABELLE_HOME_USER/etc/settings. For the "Isabelle2020" desktop application there is a corresponding options file in the same directory. *** Isabelle/VSCode Prover IDE *** * Update of State and Preview panels to use new WebviewPanel API of VSCode. *** HOL *** * Improvements of the 'lift_bnf' command: - Add support for quotient types. - Generate transfer rules for the lifted map/set/rel/pred constants (theorems "._transfer_raw"). * Term_XML.Encode/Decode.term uses compact representation of Const "typargs" from the given declaration environment. This also makes more sense for translations to lambda-calculi with explicit polymorphism. INCOMPATIBILITY, use Term_XML.Encode/Decode.term_raw in special applications. * ASCII membership syntax concerning big operators for infimum and supremum has been discontinued. INCOMPATIBILITY. * Removed multiplicativity assumption from class "normalization_semidom". Introduced various new intermediate classes with the multiplicativity assumption; many theorem statements (especially involving GCD/LCM) had to be adapted. This allows for a more natural instantiation of the algebraic typeclasses for e.g. Gaussian integers. INCOMPATIBILITY. * Clear distinction between types for bits (False / True) and Z2 (0 / 1): theory HOL-Library.Bit has been renamed accordingly. INCOMPATIBILITY. * Dynamic facts "algebra_split_simps" and "field_split_simps" correspond to algebra_simps and field_simps but contain more aggressive rules potentially splitting goals; algebra_split_simps roughly replaces sign_simps and field_split_simps can be used instead of divide_simps. INCOMPATIBILITY. * Theory HOL.Complete_Lattices: renamed Inf_Sup -> Inf_eq_Sup and Sup_Inf -> Sup_eq_Inf * Theory HOL-Library.Monad_Syntax: infix operation "bind" (\) associates to the left now as is customary. * Theory HOL-Library.Ramsey: full finite Ramsey's theorem with multiple colours and arbitrary exponents. * Session HOL-Proofs: build faster thanks to better treatment of proof terms in Isabelle/Pure. * Session HOL-Word: bitwise NOT-operator has proper prefix syntax. Minor INCOMPATIBILITY. * Session HOL-Analysis: proof method "metric" implements a decision procedure for simple linear statements in metric spaces. * Session HOL-Complex_Analysis has been split off from HOL-Analysis. *** ML *** * Theory construction may be forked internally, the operation Theory.join_theory recovers a single result theory. See also the example in theory "HOL-ex.Join_Theory". * Antiquotation @{oracle_name} inlines a formally checked oracle name. * Minimal support for a soft-type system within the Isabelle logical framework (module Soft_Type_System). * Former Variable.auto_fixes has been replaced by slightly more general Proof_Context.augment: it is subject to an optional soft-type system of the underlying object-logic. Minor INCOMPATIBILITY. * More scalable Export.export using XML.tree to avoid premature string allocations, with convenient shortcut XML.blob. Minor INCOMPATIBILITY. * Prover IDE support for the underlying Poly/ML compiler (not the basis library). Open $ML_SOURCES/ROOT.ML in Isabelle/jEdit to browse the implementation with full markup. *** System *** * Standard rendering for more Isabelle symbols: \ \ \ \ * The command-line tool "isabelle scala_project" creates a Gradle project configuration for Isabelle/Scala/jEdit, to support Scala IDEs such as IntelliJ IDEA. * The command-line tool "isabelle phabricator_setup" facilitates self-hosting of the Phabricator software-development platform, with support for Git, Mercurial, Subversion repositories. This helps to avoid monoculture and to escape the gravity of centralized version control by Github and/or Bitbucket. For further documentation, see chapter "Phabricator server administration" in the "system" manual. A notable example installation is https://isabelle-dev.sketis.net/. * The command-line tool "isabelle hg_setup" simplifies the setup of Mercurial repositories, with hosting via Phabricator or SSH file server access. * The command-line tool "isabelle imports" has been discontinued: strict checking of session directories enforces session-qualified theory names in applications -- users are responsible to specify session ROOT entries properly. * The command-line tool "isabelle dump" and its underlying Isabelle/Scala module isabelle.Dump has become more scalable, by splitting sessions and supporting a base logic image. Minor INCOMPATIBILITY in options and parameters. * The command-line tool "isabelle build_docker" has been slightly improved: it is now properly documented in the "system" manual. * Isabelle/Scala support for the Linux platform (Ubuntu): packages, users, system services. * Isabelle/Scala support for proof terms (with full type/term information) in module isabelle.Term. * Isabelle/Scala: more scalable output of YXML files, e.g. relevant for "isabelle dump". * Theory export via Isabelle/Scala has been reworked. The former "fact" name space is now split into individual "thm" items: names are potentially indexed, such as "foo" for singleton facts, or "bar(1)", "bar(2)", "bar(3)" for multi-facts. Theorem dependencies are now exported as well: this spans an overall dependency graph of internal inferences; it might help to reconstruct the formal structure of theory libraries. See also the module isabelle.Export_Theory in Isabelle/Scala. * Theory export of structured specifications, based on internal declarations of Spec_Rules by packages like 'definition', 'inductive', 'primrec', 'function'. * Old settings variables ISABELLE_PLATFORM and ISABELLE_WINDOWS_PLATFORM have been discontinued -- deprecated since Isabelle2018. * More complete x86_64 platform support on macOS, notably Catalina where old x86 has been discontinued. * Update to GHC stack 2.1.3 with stackage lts-13.19/ghc-8.6.4. * Update to OCaml Opam 2.0.6 (using ocaml 4.05.0 as before). New in Isabelle2019 (June 2019) ------------------------------- *** General *** * The font collection "Isabelle DejaVu" is systematically derived from the existing "DejaVu" fonts, with variants "Sans Mono", "Sans", "Serif" and styles "Normal", "Bold", "Italic/Oblique", "Bold-Italic/Oblique". The DejaVu base fonts are retricted to well-defined Unicode ranges and augmented by special Isabelle symbols, taken from the former "IsabelleText" font (which is no longer provided separately). The line metrics and overall rendering quality is closer to original DejaVu. INCOMPATIBILITY with display configuration expecting the old "IsabelleText" font: use e.g. "Isabelle DejaVu Sans Mono" instead. * The Isabelle fonts render "\" properly as superscript "-1". * Old-style inner comments (* ... *) within the term language are no longer supported (legacy feature in Isabelle2018). * Old-style {* verbatim *} tokens are explicitly marked as legacy feature and will be removed soon. Use \cartouche\ syntax instead, e.g. via "isabelle update_cartouches -t" (available since Isabelle2015). * Infix operators that begin or end with a "*" are now parenthesized without additional spaces, e.g. "(*)" instead of "( * )". Minor INCOMPATIBILITY. * Mixfix annotations may use cartouches instead of old-style double quotes, e.g. (infixl \+\ 60). The command-line tool "isabelle update -u mixfix_cartouches" allows to update existing theory sources automatically. * ML setup commands (e.g. 'setup', 'method_setup', 'parse_translation') need to provide a closed expression -- without trailing semicolon. Minor INCOMPATIBILITY. * Commands 'generate_file', 'export_generated_files', and 'compile_generated_files' support a stateless (PIDE-conformant) model for generated sources and compiled binaries of other languages. The compilation process is managed in Isabelle/ML, and results exported to the session database for further use (e.g. with "isabelle export" or "isabelle build -e"). *** Isabelle/jEdit Prover IDE *** * Fonts for the text area, gutter, GUI elements etc. use the "Isabelle DejaVu" collection by default, which provides uniform rendering quality with the usual Isabelle symbols. Line spacing no longer needs to be adjusted: properties for the old IsabelleText font had "Global Options / Text Area / Extra vertical line spacing (in pixels): -2", it now defaults to 1, but 0 works as well. * The jEdit File Browser is more prominent in the default GUI layout of Isabelle/jEdit: various virtual file-systems provide access to Isabelle resources, notably via "favorites:" (or "Edit Favorites"). * Further markup and rendering for "plain text" (e.g. informal prose) and "raw text" (e.g. verbatim sources). This improves the visual appearance of formal comments inside the term language, or in general for repeated alternation of formal and informal text. * Action "isabelle-export-browser" points the File Browser to the theory exports of the current buffer, based on the "isabelle-export:" virtual file-system. The directory view needs to be reloaded manually to follow ongoing document processing. * Action "isabelle-session-browser" points the File Browser to session information, based on the "isabelle-session:" virtual file-system. Its entries are structured according to chapter / session names, the open operation is redirected to the session ROOT file. * Support for user-defined file-formats via class isabelle.File_Format in Isabelle/Scala (e.g. see isabelle.Bibtex.File_Format), configured via the shell function "isabelle_file_format" in etc/settings (e.g. of an Isabelle component). * System option "jedit_text_overview" allows to disable the text overview column. * Command-line options "-s" and "-u" of "isabelle jedit" override the default for system option "system_heaps" that determines the heap storage directory for "isabelle build". Option "-n" is now clearly separated from option "-s". * The Isabelle/jEdit desktop application uses the same options as "isabelle jedit" for its internal "isabelle build" process: the implicit option "-o system_heaps" (or "-s") has been discontinued. This reduces the potential for surprise wrt. command-line tools. * The official download of the Isabelle/jEdit application already contains heap images for Isabelle/HOL within its main directory: thus the first encounter becomes faster and more robust (e.g. when run from a read-only directory). * Isabelle DejaVu fonts are available with hinting by default, which is relevant for low-resolution displays. This may be disabled via system option "isabelle_fonts_hinted = false" in $ISABELLE_HOME_USER/etc/preferences -- it occasionally yields better results. * OpenJDK 11 has quite different font rendering, with better glyph shapes and improved sub-pixel anti-aliasing. In some situations results might be *worse* than Oracle Java 8, though -- a proper HiDPI / UHD display is recommended. * OpenJDK 11 supports GTK version 2.2 and 3 (according to system property jdk.gtk.version). The factory default is version 3, but ISABELLE_JAVA_SYSTEM_OPTIONS includes "-Djdk.gtk.version=2.2" to make this more conservative (as in Java 8). Depending on the GTK theme configuration, "-Djdk.gtk.version=3" might work better or worse. *** Document preparation *** * Document markers are formal comments of the form \<^marker>\marker_body\ that are stripped from document output: the effect is to modify the semantic presentation context or to emit markup to the PIDE document. Some predefined markers are taken from the Dublin Core Metadata Initiative, e.g. \<^marker>\contributor arg\ or \<^marker>\license arg\ and produce PIDE markup that can be retrieved from the document database. * Old-style command tags %name are re-interpreted as markers with proof-scope \<^marker>\tag (proof) name\ and produce LaTeX environments as before. Potential INCOMPATIBILITY: multiple markers are composed in canonical order, resulting in a reversed list of tags in the presentation context. * Marker \<^marker>\tag name\ does not apply to the proof of a top-level goal statement by default (e.g. 'theorem', 'lemma'). This is a subtle change of semantics wrt. old-style %name. * In Isabelle/jEdit, the string "\tag" may be completed to a "\<^marker>\tag \" template. * Document antiquotation option "cartouche" indicates if the output should be delimited as cartouche; this takes precedence over the analogous option "quotes". * Many document antiquotations are internally categorized as "embedded" and expect one cartouche argument, which is typically used with the \<^control>\cartouche\ notation (e.g. \<^term>\\x y. x\). The cartouche delimiters are stripped in output of the source (antiquotation option "source"), but it is possible to enforce delimiters via option "source_cartouche", e.g. @{term [source_cartouche] \\x y. x\}. *** Isar *** * Implicit cases goal1, goal2, goal3, etc. have been discontinued (legacy feature since Isabelle2016). * More robust treatment of structural errors: begin/end blocks take precedence over goal/proof. This is particularly relevant for the headless PIDE session and server. * Command keywords of kind thy_decl / thy_goal may be more specifically fit into the traditional document model of "definition-statement-proof" via thy_defn / thy_stmt / thy_goal_defn / thy_goal_stmt. *** HOL *** * Command 'export_code' produces output as logical files within the theory context, as well as formal session exports that can be materialized via command-line tools "isabelle export" or "isabelle build -e" (with 'export_files' in the session ROOT). Isabelle/jEdit also provides a virtual file-system "isabelle-export:" that can be explored in the regular file-browser. A 'file_prefix' argument allows to specify an explicit name prefix for the target file (SML, OCaml, Scala) or directory (Haskell); the default is "export" with a consecutive number within each theory. * Command 'export_code': the 'file' argument is now legacy and will be removed soon: writing to the physical file-system is not well-defined in a reactive/parallel application like Isabelle. The empty 'file' argument has been discontinued already: it is superseded by the file-browser in Isabelle/jEdit on "isabelle-export:". Minor INCOMPATIBILITY. * Command 'code_reflect' no longer supports the 'file' argument: it has been superseded by 'file_prefix' for stateless file management as in 'export_code'. Minor INCOMPATIBILITY. * Code generation for OCaml: proper strings are used for literals. Minor INCOMPATIBILITY. * Code generation for OCaml: Zarith supersedes Nums as library for proper integer arithmetic. The library is located via standard invocations of "ocamlfind" (via ISABELLE_OCAMLFIND settings variable). The environment provided by "isabelle ocaml_setup" already contains this tool and the required packages. Minor INCOMPATIBILITY. * Code generation for Haskell: code includes for Haskell must contain proper module frame, nothing is added magically any longer. INCOMPATIBILITY. * Code generation: slightly more conventional syntax for 'code_stmts' antiquotation. Minor INCOMPATIBILITY. * Theory List: the precedence of the list_update operator has changed: "f a [n := x]" now needs to be written "(f a)[n := x]". * The functions \, \, \, \ (not the corresponding binding operators) now have the same precedence as any other prefix function symbol. Minor INCOMPATIBILITY. * Simplified syntax setup for big operators under image. In rare situations, type conversions are not inserted implicitly any longer and need to be given explicitly. Auxiliary abbreviations INFIMUM, SUPREMUM, UNION, INTER should now rarely occur in output and are just retained as migration auxiliary. Abbreviations MINIMUM and MAXIMUM are gone INCOMPATIBILITY. * The simplifier uses image_cong_simp as a congruence rule. The historic and not really well-formed congruence rules INF_cong*, SUP_cong*, are not used by default any longer. INCOMPATIBILITY; consider using declare image_cong_simp [cong del] in extreme situations. * INF_image and SUP_image are no default simp rules any longer. INCOMPATIBILITY, prefer image_comp as simp rule if needed. * Strong congruence rules (with =simp=> in the premises) for constant f are now uniformly called f_cong_simp, in accordance with congruence rules produced for mappers by the datatype package. INCOMPATIBILITY. * Retired lemma card_Union_image; use the simpler card_UN_disjoint instead. INCOMPATIBILITY. * Facts sum_mset.commute and prod_mset.commute have been renamed to sum_mset.swap and prod_mset.swap, similarly to sum.swap and prod.swap. INCOMPATIBILITY. * ML structure Inductive: slightly more conventional naming schema. Minor INCOMPATIBILITY. * ML: Various _global variants of specification tools have been removed. Minor INCOMPATIBILITY, prefer combinators Named_Target.theory_map[_result] to lift specifications to the global theory level. * Theory HOL-Library.Simps_Case_Conv: 'case_of_simps' now supports overlapping and non-exhaustive patterns and handles arbitrarily nested patterns. It uses on the same algorithm as HOL-Library.Code_Lazy, which assumes sequential left-to-right pattern matching. The generated equation no longer tuples the arguments on the right-hand side. INCOMPATIBILITY. * Theory HOL-Library.Multiset: the \# operator now has the same precedence as any other prefix function symbol. * Theory HOL-Library.Cardinal_Notations has been discontinued in favor of the bundle cardinal_syntax (available in theory Main). Minor INCOMPATIBILITY. * Session HOL-Library and HOL-Number_Theory: Exponentiation by squaring, used for computing powers in class "monoid_mult" and modular exponentiation. * Session HOL-Computational_Algebra: Formal Laurent series and overhaul of Formal power series. * Session HOL-Number_Theory: More material on residue rings in Carmichael's function, primitive roots, more properties for "ord". * Session HOL-Analysis: Better organization and much more material at the level of abstract topological spaces. * Session HOL-Algebra: Free abelian groups, etc., ported from HOL Light; algebraic closure of a field by de Vilhena and Baillon. * Session HOL-Homology has been added. It is a port of HOL Light's homology library, with new proofs of "invariance of domain" and related results. * Session HOL-SPARK: .prv files are no longer written to the file-system, but exported to the session database. Results may be retrieved via "isabelle build -e HOL-SPARK-Examples" on the command-line. * Sledgehammer: - The URL for SystemOnTPTP, which is used by remote provers, has been updated. - The machine-learning-based filter MaSh has been optimized to take less time (in most cases). * SMT: reconstruction is now possible using the SMT solver veriT. * Session HOL-Word: * New theory More_Word as comprehensive entrance point. * Merged type class bitss into type class bits. INCOMPATIBILITY. *** ML *** * Command 'generate_file' allows to produce sources for other languages, with antiquotations in the Isabelle context (only the control-cartouche form). The default "cartouche" antiquotation evaluates an ML expression of type string and inlines the result as a string literal of the target language. For example, this works for Haskell as follows: generate_file "Pure.hs" = \ module Isabelle.Pure where allConst, impConst, eqConst :: String allConst = \\<^const_name>\Pure.all\\ impConst = \\<^const_name>\Pure.imp\\ eqConst = \\<^const_name>\Pure.eq\\ \ See also commands 'export_generated_files' and 'compile_generated_files' to use the results. * ML evaluation (notably via command 'ML' or 'ML_file') is subject to option ML_environment to select a named environment, such as "Isabelle" for Isabelle/ML, or "SML" for official Standard ML. * ML antiquotation @{master_dir} refers to the master directory of the underlying theory, i.e. the directory of the theory file. * ML antiquotation @{verbatim} inlines its argument as string literal, preserving newlines literally. The short form \<^verbatim>\abc\ is particularly useful. * Local_Theory.reset is no longer available in user space. Regular definitional packages should use balanced blocks of Local_Theory.open_target versus Local_Theory.close_target instead, or the Local_Theory.subtarget(_result) combinator. Rare INCOMPATIBILITY. * Original PolyML.pointerEq is retained as a convenience for tools that don't use Isabelle/ML (where this is called "pointer_eq"). *** System *** * Update to OpenJDK 11: the current long-term support version of Java. * Update to Poly/ML 5.8 allows to use the native x86_64 platform without the full overhead of 64-bit values everywhere. This special x86_64_32 mode provides up to 16GB ML heap, while program code and stacks are allocated elsewhere. Thus approx. 5 times more memory is available for applications compared to old x86 mode (which is no longer used by Isabelle). The switch to the x86_64 CPU architecture also avoids compatibility problems with Linux and macOS, where 32-bit applications are gradually phased out. * System option "checkpoint" has been discontinued: obsolete thanks to improved memory management in Poly/ML. * System option "system_heaps" determines where to store the session image of "isabelle build" (and other tools using that internally). Former option "-s" is superseded by option "-o system_heaps". INCOMPATIBILITY in command-line syntax. * Session directory $ISABELLE_HOME/src/Tools/Haskell provides some source modules for Isabelle tools implemented in Haskell, notably for Isabelle/PIDE. * The command-line tool "isabelle build -e" retrieves theory exports from the session build database, using 'export_files' in session ROOT entries. * The command-line tool "isabelle update" uses Isabelle/PIDE in batch-mode to update theory sources based on semantic markup produced in Isabelle/ML. Actual updates depend on system options that may be enabled via "-u OPT" (for "update_OPT"), see also $ISABELLE_HOME/etc/options section "Theory update". Theory sessions are specified as in "isabelle dump". * The command-line tool "isabelle update -u control_cartouches" changes antiquotations into control-symbol format (where possible): @{NAME} becomes \<^NAME> and @{NAME ARG} becomes \<^NAME>\ARG\. * Support for Isabelle command-line tools defined in Isabelle/Scala. Instances of class Isabelle_Scala_Tools may be configured via the shell function "isabelle_scala_tools" in etc/settings (e.g. of an Isabelle component). * Isabelle Server command "use_theories" supports "nodes_status_delay" for continuous output of node status information. The time interval is specified in seconds; a negative value means it is disabled (default). * Isabelle Server command "use_theories" terminates more robustly in the presence of structurally broken sources: full consolidation of theories is no longer required. * OCaml tools and libraries are now accesed via ISABELLE_OCAMLFIND, which needs to point to a suitable version of "ocamlfind" (e.g. via OPAM, see below). INCOMPATIBILITY: settings variables ISABELLE_OCAML and ISABELLE_OCAMLC are no longer supported. * Support for managed installations of Glasgow Haskell Compiler and OCaml via the following command-line tools: isabelle ghc_setup isabelle ghc_stack isabelle ocaml_setup isabelle ocaml_opam The global installation state is determined by the following settings (and corresponding directory contents): ISABELLE_STACK_ROOT ISABELLE_STACK_RESOLVER ISABELLE_GHC_VERSION ISABELLE_OPAM_ROOT ISABELLE_OCAML_VERSION After setup, the following Isabelle settings are automatically redirected (overriding existing user settings): ISABELLE_GHC ISABELLE_OCAMLFIND The old meaning of these settings as locally installed executables may be recovered by purging the directories ISABELLE_STACK_ROOT / ISABELLE_OPAM_ROOT, or by resetting these variables in $ISABELLE_HOME_USER/etc/settings. New in Isabelle2018 (August 2018) --------------------------------- *** General *** * Session-qualified theory names are mandatory: it is no longer possible to refer to unqualified theories from the parent session. INCOMPATIBILITY for old developments that have not been updated to Isabelle2017 yet (using the "isabelle imports" tool). * Only the most fundamental theory names are global, usually the entry points to major logic sessions: Pure, Main, Complex_Main, HOLCF, IFOL, FOL, ZF, ZFC etc. INCOMPATIBILITY, need to use qualified names for formerly global "HOL-Probability.Probability" and "HOL-SPARK.SPARK". * Global facts need to be closed: no free variables and no hypotheses. Rare INCOMPATIBILITY. * Facts stemming from locale interpretation are subject to lazy evaluation for improved performance. Rare INCOMPATIBILITY: errors stemming from interpretation morphisms might be deferred and thus difficult to locate; enable system option "strict_facts" temporarily to avoid this. * Marginal comments need to be written exclusively in the new-style form "\ \text\", old ASCII variants like "-- {* ... *}" are no longer supported. INCOMPATIBILITY, use the command-line tool "isabelle update_comments" to update existing theory files. * Old-style inner comments (* ... *) within the term language are legacy and will be discontinued soon: use formal comments "\ \...\" or "\<^cancel>\...\" instead. * The "op " syntax for infix operators has been replaced by "()". If begins or ends with a "*", there needs to be a space between the "*" and the corresponding parenthesis. INCOMPATIBILITY, use the command-line tool "isabelle update_op" to convert theory and ML files to the new syntax. Because it is based on regular expression matching, the result may need a bit of manual postprocessing. Invoking "isabelle update_op" converts all files in the current directory (recursively). In case you want to exclude conversion of ML files (because the tool frequently also converts ML's "op" syntax), use option "-m". * Theory header 'abbrevs' specifications need to be separated by 'and'. INCOMPATIBILITY. * Command 'external_file' declares the formal dependency on the given file name, such that the Isabelle build process knows about it, but without specific Prover IDE management. * Session ROOT entries no longer allow specification of 'files'. Rare INCOMPATIBILITY, use command 'external_file' within a proper theory context. * Session root directories may be specified multiple times: each accessible ROOT file is processed only once. This facilitates specification of $ISABELLE_HOME_USER/ROOTS or command-line options like -d or -D for "isabelle build" and "isabelle jedit". Example: isabelle build -D '~~/src/ZF' * The command 'display_drafts' has been discontinued. INCOMPATIBILITY, use action "isabelle.draft" (or "print") in Isabelle/jEdit instead. * In HTML output, the Isabelle symbol "\" is rendered as explicit Unicode hyphen U+2010, to avoid unclear meaning of the old "soft hyphen" U+00AD. Rare INCOMPATIBILITY, e.g. copy-paste of historic Isabelle HTML output. *** Isabelle/jEdit Prover IDE *** * The command-line tool "isabelle jedit" provides more flexible options for session management: - option -R builds an auxiliary logic image with all theories from other sessions that are not already present in its parent - option -S is like -R, with a focus on the selected session and its descendants (this reduces startup time for big projects like AFP) - option -A specifies an alternative ancestor session for options -R and -S - option -i includes additional sessions into the name-space of theories Examples: isabelle jedit -R HOL-Number_Theory isabelle jedit -R HOL-Number_Theory -A HOL isabelle jedit -d '$AFP' -S Formal_SSA -A HOL isabelle jedit -d '$AFP' -S Formal_SSA -A HOL-Analysis isabelle jedit -d '$AFP' -S Formal_SSA -A HOL-Analysis -i CryptHOL * PIDE markup for session ROOT files: allows to complete session names, follow links to theories and document files etc. * Completion supports theory header imports, using theory base name. E.g. "Prob" may be completed to "HOL-Probability.Probability". * Named control symbols (without special Unicode rendering) are shown as bold-italic keyword. This is particularly useful for the short form of antiquotations with control symbol: \<^name>\argument\. The action "isabelle.antiquoted_cartouche" turns an antiquotation with 0 or 1 arguments into this format. * Completion provides templates for named symbols with arguments, e.g. "\ \ARGUMENT\" or "\<^emph>\ARGUMENT\". * Slightly more parallel checking, notably for high priority print functions (e.g. State output). * The view title is set dynamically, according to the Isabelle distribution and the logic session name. The user can override this via set-view-title (stored persistently in $JEDIT_SETTINGS/perspective.xml). * System options "spell_checker_include" and "spell_checker_exclude" supersede former "spell_checker_elements" to determine regions of text that are subject to spell-checking. Minor INCOMPATIBILITY. * Action "isabelle.preview" is able to present more file formats, notably bibtex database files and ML files. * Action "isabelle.draft" is similar to "isabelle.preview", but shows a plain-text document draft. Both are available via the menu "Plugins / Isabelle". * When loading text files, the Isabelle symbols encoding UTF-8-Isabelle is only used if there is no conflict with existing Unicode sequences in the file. Otherwise, the fallback encoding is plain UTF-8 and Isabelle symbols remain in literal \ form. This avoids accidental loss of Unicode content when saving the file. * Bibtex database files (.bib) are semantically checked. * Update to jedit-5.5.0, the latest release. *** Isabelle/VSCode Prover IDE *** * HTML preview of theories and other file-formats similar to Isabelle/jEdit. * Command-line tool "isabelle vscode_server" accepts the same options -A, -R, -S, -i for session selection as "isabelle jedit". This is relevant for isabelle.args configuration settings in VSCode. The former option -A (explore all known session files) has been discontinued: it is enabled by default, unless option -S is used to focus on a particular spot in the session structure. INCOMPATIBILITY. *** Document preparation *** * Formal comments work uniformly in outer syntax, inner syntax (term language), Isabelle/ML and some other embedded languages of Isabelle. See also "Document comments" in the isar-ref manual. The following forms are supported: - marginal text comment: \ \\\ - canceled source: \<^cancel>\\\ - raw LaTeX: \<^latex>\\\ * Outside of the inner theory body, the default presentation context is theory Pure. Thus elementary antiquotations may be used in markup commands (e.g. 'chapter', 'section', 'text') and formal comments. * System option "document_tags" specifies alternative command tags. This is occasionally useful to control the global visibility of commands via session options (e.g. in ROOT). * Document markup commands ('section', 'text' etc.) are implicitly tagged as "document" and visible by default. This avoids the application of option "document_tags" to these commands. * Isabelle names are mangled into LaTeX macro names to allow the full identifier syntax with underscore, prime, digits. This is relevant for antiquotations in control symbol notation, e.g. \<^const_name> becomes \isactrlconstUNDERSCOREname. * Document preparation with skip_proofs option now preserves the content more accurately: only terminal proof steps ('by' etc.) are skipped. * Document antiquotation @{theory name} requires the long session-qualified theory name: this is what users reading the text normally need to import. * Document antiquotation @{session name} checks and prints the given session name verbatim. * Document antiquotation @{cite} now checks the given Bibtex entries against the Bibtex database files -- only in batch-mode session builds. * Command-line tool "isabelle document" has been re-implemented in Isabelle/Scala, with simplified arguments and explicit errors from the latex and bibtex process. Minor INCOMPATIBILITY. * Session ROOT entry: empty 'document_files' means there is no document for this session. There is no need to specify options [document = false] anymore. *** Isar *** * Command 'interpret' no longer exposes resulting theorems as literal facts, notably for the \prop\ notation or the "fact" proof method. This improves modularity of proofs and scalability of locale interpretation. Rare INCOMPATIBILITY, need to refer to explicitly named facts instead (e.g. use 'find_theorems' or 'try' to figure this out). * The old 'def' command has been discontinued (legacy since Isbelle2016-1). INCOMPATIBILITY, use 'define' instead -- usually with object-logic equality or equivalence. *** Pure *** * The inner syntax category "sort" now includes notation "_" for the dummy sort: it is effectively ignored in type-inference. * Rewrites clauses (keyword 'rewrites') were moved into the locale expression syntax, where they are part of locale instances. In interpretation commands rewrites clauses now need to occur before 'for' and 'defines'. Rare INCOMPATIBILITY; definitions immediately subject to rewriting may need to be pulled up into the surrounding theory. * For 'rewrites' clauses, if activating a locale instance fails, fall back to reading the clause first. This helps avoid qualification of locale instances where the qualifier's sole purpose is avoiding duplicate constant declarations. * Proof method "simp" now supports a new modifier "flip:" followed by a list of theorems. Each of these theorems is removed from the simpset (without warning if it is not there) and the symmetric version of the theorem (i.e. lhs and rhs exchanged) is added to the simpset. For "auto" and friends the modifier is "simp flip:". *** HOL *** * Sledgehammer: bundled version of "vampire" (for non-commercial users) helps to avoid fragility of "remote_vampire" service. * Clarified relationship of characters, strings and code generation: - Type "char" is now a proper datatype of 8-bit values. - Conversions "nat_of_char" and "char_of_nat" are gone; use more general conversions "of_char" and "char_of" with suitable type constraints instead. - The zero character is just written "CHR 0x00", not "0" any longer. - Type "String.literal" (for code generation) is now isomorphic to lists of 7-bit (ASCII) values; concrete values can be written as "STR ''...''" for sequences of printable characters and "STR 0x..." for one single ASCII code point given as hexadecimal numeral. - Type "String.literal" supports concatenation "... + ..." for all standard target languages. - Theory HOL-Library.Code_Char is gone; study the explanations concerning "String.literal" in the tutorial on code generation to get an idea how target-language string literals can be converted to HOL string values and vice versa. - Session Imperative-HOL: operation "raise" directly takes a value of type "String.literal" as argument, not type "string". INCOMPATIBILITY. * Code generation: Code generation takes an explicit option "case_insensitive" to accomodate case-insensitive file systems. * Abstract bit operations as part of Main: push_bit, take_bit, drop_bit. * New, more general, axiomatization of complete_distrib_lattice. The former axioms: "sup x (Inf X) = Inf (sup x ` X)" and "inf x (Sup X) = Sup (inf x ` X)" are replaced by: "Inf (Sup ` A) <= Sup (Inf ` {f ` A | f . (! Y \ A . f Y \ Y)})" The instantiations of sets and functions as complete_distrib_lattice are moved to Hilbert_Choice.thy because their proofs need the Hilbert choice operator. The dual of this property is also proved in theory HOL.Hilbert_Choice. * New syntax for the minimum/maximum of a function over a finite set: MIN x\A. B and even MIN x. B (only useful for finite types), also MAX. * Clarifed theorem names: Min.antimono ~> Min.subset_imp Max.antimono ~> Max.subset_imp Minor INCOMPATIBILITY. * SMT module: - The 'smt_oracle' option is now necessary when using the 'smt' method with a solver other than Z3. INCOMPATIBILITY. - The encoding to first-order logic is now more complete in the presence of higher-order quantifiers. An 'smt_explicit_application' option has been added to control this. INCOMPATIBILITY. * Facts sum.commute(_restrict) and prod.commute(_restrict) renamed to sum.swap(_restrict) and prod.swap(_restrict), to avoid name clashes on interpretation of abstract locales. INCOMPATIBILITY. * Predicate coprime is now a real definition, not a mere abbreviation. INCOMPATIBILITY. * Predicate pairwise_coprime abolished, use "pairwise coprime" instead. INCOMPATIBILITY. * The relator rel_filter on filters has been strengthened to its canonical categorical definition with better properties. INCOMPATIBILITY. * Generalized linear algebra involving linear, span, dependent, dim from type class real_vector to locales module and vector_space. Renamed: span_inc ~> span_superset span_superset ~> span_base span_eq ~> span_eq_iff INCOMPATIBILITY. * Class linordered_semiring_1 covers zero_less_one also, ruling out pathologic instances. Minor INCOMPATIBILITY. * Theory HOL.List: functions "sorted_wrt" and "sorted" now compare every element in a list to all following elements, not just the next one. * Theory HOL.List syntax: - filter-syntax "[x <- xs. P]" is no longer output syntax, but only input syntax - list comprehension syntax now supports tuple patterns in "pat <- xs" * Theory Map: "empty" must now be qualified as "Map.empty". * Removed nat-int transfer machinery. Rare INCOMPATIBILITY. * Fact mod_mult_self4 (on nat) renamed to Suc_mod_mult_self3, to avoid clash with fact mod_mult_self4 (on more generic semirings). INCOMPATIBILITY. * Eliminated some theorem aliasses: even_times_iff ~> even_mult_iff mod_2_not_eq_zero_eq_one_nat ~> not_mod_2_eq_0_eq_1 even_of_nat ~> even_int_iff INCOMPATIBILITY. * Eliminated some theorem duplicate variations: - dvd_eq_mod_eq_0_numeral can be replaced by dvd_eq_mod_eq_0 - mod_Suc_eq_Suc_mod can be replaced by mod_Suc - mod_Suc_eq_Suc_mod [symmetrict] can be replaced by mod_simps - mod_eq_0_iff can be replaced by mod_eq_0_iff_dvd and dvd_def - the witness of mod_eqD can be given directly as "_ div _" INCOMPATIBILITY. * Classical setup: Assumption "m mod d = 0" (for m d :: nat) is no longer aggresively destroyed to "\q. m = d * q". INCOMPATIBILITY, adding "elim!: dvd" to classical proof methods in most situations restores broken proofs. * Theory HOL-Library.Conditional_Parametricity provides command 'parametric_constant' for proving parametricity of non-recursive definitions. For constants that are not fully parametric the command will infer conditions on relations (e.g., bi_unique, bi_total, or type class conditions such as "respects 0") sufficient for parametricity. See theory HOL-ex.Conditional_Parametricity_Examples for some examples. * Theory HOL-Library.Code_Lazy provides a new preprocessor for the code generator to generate code for algebraic types with lazy evaluation semantics even in call-by-value target languages. See the theories HOL-ex.Code_Lazy_Demo and HOL-Codegenerator_Test.Code_Lazy_Test for some examples. * Theory HOL-Library.Landau_Symbols has been moved here from AFP. * Theory HOL-Library.Old_Datatype no longer provides the legacy command 'old_datatype'. INCOMPATIBILITY. * Theory HOL-Computational_Algebra.Polynomial_Factorial does not provide instances of rat, real, complex as factorial rings etc. Import HOL-Computational_Algebra.Field_as_Ring explicitly in case of need. INCOMPATIBILITY. * Session HOL-Algebra: renamed (^) to [^] to avoid conflict with new infix/prefix notation. * Session HOL-Algebra: revamped with much new material. The set of isomorphisms between two groups is now denoted iso rather than iso_set. INCOMPATIBILITY. * Session HOL-Analysis: the Arg function now respects the same interval as Ln, namely (-pi,pi]; the old Arg function has been renamed Arg2pi. INCOMPATIBILITY. * Session HOL-Analysis: the functions zorder, zer_poly, porder and pol_poly have been redefined. All related lemmas have been reworked. INCOMPATIBILITY. * Session HOL-Analysis: infinite products, Moebius functions, the Riemann mapping theorem, the Vitali covering theorem, change-of-variables results for integration and measures. * Session HOL-Real_Asymp: proof method "real_asymp" proves asymptotics or real-valued functions (limits, "Big-O", etc.) automatically. See also ~~/src/HOL/Real_Asymp/Manual for some documentation. * Session HOL-Types_To_Sets: more tool support (unoverload_type combines internalize_sorts and unoverload) and larger experimental application (type based linear algebra transferred to linear algebra on subspaces). *** ML *** * Operation Export.export emits theory exports (arbitrary blobs), which are stored persistently in the session build database. * Command 'ML_export' exports ML toplevel bindings to the global bootstrap environment of the ML process. This allows ML evaluation without a formal theory context, e.g. in command-line tools like "isabelle process". *** System *** * Mac OS X 10.10 Yosemite is now the baseline version; Mavericks is no longer supported. * Linux and Windows/Cygwin is for x86_64 only, old 32bit platform support has been discontinued. * Java runtime is for x86_64 only. Corresponding Isabelle settings have been renamed to ISABELLE_TOOL_JAVA_OPTIONS and JEDIT_JAVA_OPTIONS, instead of former 32/64 variants. INCOMPATIBILITY. * Old settings ISABELLE_PLATFORM and ISABELLE_WINDOWS_PLATFORM should be phased out due to unclear preference of 32bit vs. 64bit architecture. Explicit GNU bash expressions are now preferred, for example (with quotes): #Posix executables (Unix or Cygwin), with preference for 64bit "${ISABELLE_PLATFORM64:-$ISABELLE_PLATFORM32}" #native Windows or Unix executables, with preference for 64bit "${ISABELLE_WINDOWS_PLATFORM64:-${ISABELLE_WINDOWS_PLATFORM32:-${ISABELLE_PLATFORM64:-$ISABELLE_PLATFORM32}}}" #native Windows (32bit) or Unix executables (preference for 64bit) "${ISABELLE_WINDOWS_PLATFORM32:-${ISABELLE_PLATFORM64:-$ISABELLE_PLATFORM32}}" * Command-line tool "isabelle build" supports new options: - option -B NAME: include session NAME and all descendants - option -S: only observe changes of sources, not heap images - option -f: forces a fresh build * Command-line tool "isabelle build" options -c -x -B refer to descendants wrt. the session parent or import graph. Subtle INCOMPATIBILITY: options -c -x used to refer to the session parent graph only. * Command-line tool "isabelle build" takes "condition" options with the corresponding environment values into account, when determining the up-to-date status of a session. * The command-line tool "dump" dumps information from the cumulative PIDE session database: many sessions may be loaded into a given logic image, results from all loaded theories are written to the output directory. * Command-line tool "isabelle imports -I" also reports actual session imports. This helps to minimize the session dependency graph. * The command-line tool "export" and 'export_files' in session ROOT entries retrieve theory exports from the session build database. * The command-line tools "isabelle server" and "isabelle client" provide access to the Isabelle Server: it supports responsive session management and concurrent use of theories, based on Isabelle/PIDE infrastructure. See also the "system" manual. * The command-line tool "isabelle update_comments" normalizes formal comments in outer syntax as follows: \ \text\ (whith a single space to approximate the appearance in document output). This is more specific than former "isabelle update_cartouches -c": the latter tool option has been discontinued. * The command-line tool "isabelle mkroot" now always produces a document outline: its options have been adapted accordingly. INCOMPATIBILITY. * The command-line tool "isabelle mkroot -I" initializes a Mercurial repository for the generated session files. * Settings ISABELLE_HEAPS + ISABELLE_BROWSER_INFO (or ISABELLE_HEAPS_SYSTEM + ISABELLE_BROWSER_INFO_SYSTEM in "system build mode") determine the directory locations of the main build artefacts -- instead of hard-wired directories in ISABELLE_HOME_USER (or ISABELLE_HOME). * Settings ISABELLE_PATH and ISABELLE_OUTPUT have been discontinued: heap images and session databases are always stored in $ISABELLE_HEAPS/$ML_IDENTIFIER (command-line default) or $ISABELLE_HEAPS_SYSTEM/$ML_IDENTIFIER (main Isabelle application or "isabelle jedit -s" or "isabelle build -s"). * ISABELLE_LATEX and ISABELLE_PDFLATEX now include platform-specific options for improved error reporting. Potential INCOMPATIBILITY with unusual LaTeX installations, may have to adapt these settings. * Update to Poly/ML 5.7.1 with slightly improved performance and PIDE markup for identifier bindings. It now uses The GNU Multiple Precision Arithmetic Library (libgmp) on all platforms, notably Mac OS X with 32/64 bit. New in Isabelle2017 (October 2017) ---------------------------------- *** General *** * Experimental support for Visual Studio Code (VSCode) as alternative Isabelle/PIDE front-end, see also https://marketplace.visualstudio.com/items?itemName=makarius.Isabelle2017 VSCode is a new type of application that continues the concepts of "programmer's editor" and "integrated development environment" towards fully semantic editing and debugging -- in a relatively light-weight manner. Thus it fits nicely on top of the Isabelle/PIDE infrastructure. Technically, VSCode is based on the Electron application framework (Node.js + Chromium browser + V8), which is implemented in JavaScript and TypeScript, while Isabelle/VSCode mainly consists of Isabelle/Scala modules around a Language Server implementation. * Theory names are qualified by the session name that they belong to. This affects imports, but not the theory name space prefix (which is just the theory base name as before). In order to import theories from other sessions, the ROOT file format provides a new 'sessions' keyword. In contrast, a theory that is imported in the old-fashioned manner via an explicit file-system path belongs to the current session, and might cause theory name conflicts later on. Theories that are imported from other sessions are excluded from the current session document. The command-line tool "isabelle imports" helps to update theory imports. * The main theory entry points for some non-HOL sessions have changed, to avoid confusion with the global name "Main" of the session HOL. This leads to the follow renamings: CTT/Main.thy ~> CTT/CTT.thy ZF/Main.thy ~> ZF/ZF.thy ZF/Main_ZF.thy ~> ZF/ZF.thy ZF/Main_ZFC.thy ~> ZF/ZFC.thy ZF/ZF.thy ~> ZF/ZF_Base.thy INCOMPATIBILITY. * Commands 'alias' and 'type_alias' introduce aliases for constants and type constructors, respectively. This allows adhoc changes to name-space accesses within global or local theory contexts, e.g. within a 'bundle'. * Document antiquotations @{prf} and @{full_prf} output proof terms (again) in the same way as commands 'prf' and 'full_prf'. * Computations generated by the code generator can be embedded directly into ML, alongside with @{code} antiquotations, using the following antiquotations: @{computation ... terms: ... datatypes: ...} : ((term -> term) -> 'ml option -> 'a) -> Proof.context -> term -> 'a @{computation_conv ... terms: ... datatypes: ...} : (Proof.context -> 'ml -> conv) -> Proof.context -> conv @{computation_check terms: ... datatypes: ...} : Proof.context -> conv See src/HOL/ex/Computations.thy, src/HOL/Decision_Procs/Commutative_Ring.thy and src/HOL/Decision_Procs/Reflective_Field.thy for examples and the tutorial on code generation. *** Prover IDE -- Isabelle/Scala/jEdit *** * Session-qualified theory imports allow the Prover IDE to process arbitrary theory hierarchies independently of the underlying logic session image (e.g. option "isabelle jedit -l"), but the directory structure needs to be known in advance (e.g. option "isabelle jedit -d" or a line in the file $ISABELLE_HOME_USER/ROOTS). * The PIDE document model maintains file content independently of the status of jEdit editor buffers. Reloading jEdit buffers no longer causes changes of formal document content. Theory dependencies are always resolved internally, without the need for corresponding editor buffers. The system option "jedit_auto_load" has been discontinued: it is effectively always enabled. * The Theories dockable provides a "Purge" button, in order to restrict the document model to theories that are required for open editor buffers. * The Theories dockable indicates the overall status of checking of each entry. When all forked tasks of a theory are finished, the border is painted with thick lines; remaining errors in this situation are represented by a different border color. * Automatic indentation is more careful to avoid redundant spaces in intermediate situations. Keywords are indented after input (via typed characters or completion); see also option "jedit_indent_input". * Action "isabelle.preview" opens an HTML preview of the current theory document in the default web browser. * Command-line invocation "isabelle jedit -R -l LOGIC" opens the ROOT entry of the specified logic session in the editor, while its parent is used for formal checking. * The main Isabelle/jEdit plugin may be restarted manually (using the jEdit Plugin Manager), as long as the "Isabelle Base" plugin remains enabled at all times. * Update to current jedit-5.4.0. *** Pure *** * Deleting the last code equations for a particular function using [code del] results in function with no equations (runtime abort) rather than an unimplemented function (generation time abort). Use explicit [[code drop:]] to enforce the latter. Minor INCOMPATIBILITY. * Proper concept of code declarations in code.ML: - Regular code declarations act only on the global theory level, being ignored with warnings if syntactically malformed. - Explicitly global code declarations yield errors if syntactically malformed. - Default code declarations are silently ignored if syntactically malformed. Minor INCOMPATIBILITY. * Clarified and standardized internal data bookkeeping of code declarations: history of serials allows to track potentially non-monotonous declarations appropriately. Minor INCOMPATIBILITY. *** HOL *** * The Nunchaku model finder is now part of "Main". * SMT module: - A new option, 'smt_nat_as_int', has been added to translate 'nat' to 'int' and benefit from the SMT solver's theory reasoning. It is disabled by default. - The legacy module "src/HOL/Library/Old_SMT.thy" has been removed. - Several small issues have been rectified in the 'smt' command. * (Co)datatype package: The 'size_gen_o_map' lemma is no longer generated for datatypes with type class annotations. As a result, the tactic that derives it no longer fails on nested datatypes. Slight INCOMPATIBILITY. * Command and antiquotation "value" with modified default strategy: terms without free variables are always evaluated using plain evaluation only, with no fallback on normalization by evaluation. Minor INCOMPATIBILITY. * Theories "GCD" and "Binomial" are already included in "Main" (instead of "Complex_Main"). * Constant "surj" is a full input/output abbreviation (again). Minor INCOMPATIBILITY. * Dropped aliasses RangeP, DomainP for Rangep, Domainp respectively. INCOMPATIBILITY. * Renamed ii to imaginary_unit in order to free up ii as a variable name. The syntax \ remains available. INCOMPATIBILITY. * Dropped abbreviations transP, antisymP, single_valuedP; use constants transp, antisymp, single_valuedp instead. INCOMPATIBILITY. * Constant "subseq" in Topological_Spaces has been removed -- it is subsumed by "strict_mono". Some basic lemmas specific to "subseq" have been renamed accordingly, e.g. "subseq_o" -> "strict_mono_o" etc. * Theory List: "sublist" renamed to "nths" in analogy with "nth", and "sublisteq" renamed to "subseq". Minor INCOMPATIBILITY. * Theory List: new generic function "sorted_wrt". * Named theorems mod_simps covers various congruence rules concerning mod, replacing former zmod_simps. INCOMPATIBILITY. * Swapped orientation of congruence rules mod_add_left_eq, mod_add_right_eq, mod_add_eq, mod_mult_left_eq, mod_mult_right_eq, mod_mult_eq, mod_minus_eq, mod_diff_left_eq, mod_diff_right_eq, mod_diff_eq. INCOMPATIBILITY. * Generalized some facts: measure_induct_rule measure_induct zminus_zmod ~> mod_minus_eq zdiff_zmod_left ~> mod_diff_left_eq zdiff_zmod_right ~> mod_diff_right_eq zmod_eq_dvd_iff ~> mod_eq_dvd_iff INCOMPATIBILITY. * Algebraic type class hierarchy of euclidean (semi)rings in HOL: euclidean_(semi)ring, euclidean_(semi)ring_cancel, unique_euclidean_(semi)ring; instantiation requires provision of a euclidean size. * Theory "HOL-Number_Theory.Euclidean_Algorithm" has been reworked: - Euclidean induction is available as rule eucl_induct. - Constants Euclidean_Algorithm.gcd, Euclidean_Algorithm.lcm, Euclidean_Algorithm.Gcd and Euclidean_Algorithm.Lcm allow easy instantiation of euclidean (semi)rings as GCD (semi)rings. - Coefficients obtained by extended euclidean algorithm are available as "bezout_coefficients". INCOMPATIBILITY. * Theory "Number_Theory.Totient" introduces basic notions about Euler's totient function previously hidden as solitary example in theory Residues. Definition changed so that "totient 1 = 1" in agreement with the literature. Minor INCOMPATIBILITY. * New styles in theory "HOL-Library.LaTeXsugar": - "dummy_pats" for printing equations with "_" on the lhs; - "eta_expand" for printing eta-expanded terms. * Theory "HOL-Library.Permutations": theorem bij_swap_ompose_bij has been renamed to bij_swap_compose_bij. INCOMPATIBILITY. * New theory "HOL-Library.Going_To_Filter" providing the "f going_to F" filter for describing points x such that f(x) is in the filter F. * Theory "HOL-Library.Formal_Power_Series": constants X/E/L/F have been renamed to fps_X/fps_exp/fps_ln/fps_hypergeo to avoid polluting the name space. INCOMPATIBILITY. * Theory "HOL-Library.FinFun" has been moved to AFP (again). INCOMPATIBILITY. * Theory "HOL-Library.FuncSet": some old and rarely used ASCII replacement syntax has been removed. INCOMPATIBILITY, standard syntax with symbols should be used instead. The subsequent commands help to reproduce the old forms, e.g. to simplify porting old theories: syntax (ASCII) "_PiE" :: "pttrn \ 'a set \ 'b set \ ('a \ 'b) set" ("(3PIE _:_./ _)" 10) "_Pi" :: "pttrn \ 'a set \ 'b set \ ('a \ 'b) set" ("(3PI _:_./ _)" 10) "_lam" :: "pttrn \ 'a set \ 'a \ 'b \ ('a \ 'b)" ("(3%_:_./ _)" [0,0,3] 3) * Theory "HOL-Library.Multiset": the simprocs on subsets operators of multisets have been renamed: msetless_cancel_numerals ~> msetsubset_cancel msetle_cancel_numerals ~> msetsubset_eq_cancel INCOMPATIBILITY. * Theory "HOL-Library.Pattern_Aliases" provides input and output syntax for pattern aliases as known from Haskell, Scala and ML. * Theory "HOL-Library.Uprod" formalizes the type of unordered pairs. * Session HOL-Analysis: more material involving arcs, paths, covering spaces, innessential maps, retracts, infinite products, simplicial complexes. Baire Category theorem. Major results include the Jordan Curve Theorem and the Great Picard Theorem. * Session HOL-Algebra has been extended by additional lattice theory: the Knaster-Tarski fixed point theorem and Galois Connections. * Sessions HOL-Computational_Algebra and HOL-Number_Theory: new notions of squarefreeness, n-th powers, and prime powers. * Session "HOL-Computional_Algebra" covers many previously scattered theories, notably Euclidean_Algorithm, Factorial_Ring, Formal_Power_Series, Fraction_Field, Fundamental_Theorem_Algebra, Normalized_Fraction, Polynomial_FPS, Polynomial, Primes. Minor INCOMPATIBILITY. *** System *** * Isabelle/Scala: the SQL module supports access to relational databases, either as plain file (SQLite) or full-scale server (PostgreSQL via local port or remote ssh connection). * Results of "isabelle build" are recorded as SQLite database (i.e. "Application File Format" in the sense of https://www.sqlite.org/appfileformat.html). This allows systematic access via operations from module Sessions.Store in Isabelle/Scala. * System option "parallel_proofs" is 1 by default (instead of more aggressive 2). This requires less heap space and avoids burning parallel CPU cycles, while full subproof parallelization is enabled for repeated builds (according to parallel_subproofs_threshold). * System option "record_proofs" allows to change the global Proofterm.proofs variable for a session. Regular values are are 0, 1, 2; a negative value means the current state in the ML heap image remains unchanged. * Isabelle settings variable ISABELLE_SCALA_BUILD_OPTIONS has been renamed to ISABELLE_SCALAC_OPTIONS. Rare INCOMPATIBILITY. * Isabelle settings variables ISABELLE_WINDOWS_PLATFORM, ISABELLE_WINDOWS_PLATFORM32, ISABELLE_WINDOWS_PLATFORM64 indicate the native Windows platform (independently of the Cygwin installation). This is analogous to ISABELLE_PLATFORM, ISABELLE_PLATFORM32, ISABELLE_PLATFORM64. * Command-line tool "isabelle build_docker" builds a Docker image from the Isabelle application bundle for Linux. See also https://hub.docker.com/r/makarius/isabelle * Command-line tool "isabelle vscode_server" provides a Language Server Protocol implementation, e.g. for the Visual Studio Code editor. It serves as example for alternative PIDE front-ends. * Command-line tool "isabelle imports" helps to maintain theory imports wrt. session structure. Examples for the main Isabelle distribution: isabelle imports -I -a isabelle imports -U -a isabelle imports -U -i -a isabelle imports -M -a -d '~~/src/Benchmarks' New in Isabelle2016-1 (December 2016) ------------------------------------- *** General *** * Splitter in proof methods "simp", "auto" and friends: - The syntax "split add" has been discontinued, use plain "split", INCOMPATIBILITY. - For situations with many conditional or case expressions, there is an alternative splitting strategy that can be much faster. It is selected by writing "split!" instead of "split". It applies safe introduction and elimination rules after each split rule. As a result the subgoal may be split into several subgoals. * Command 'bundle' provides a local theory target to define a bundle from the body of specification commands (such as 'declare', 'declaration', 'notation', 'lemmas', 'lemma'). For example: bundle foo begin declare a [simp] declare b [intro] end * Command 'unbundle' is like 'include', but works within a local theory context. Unlike "context includes ... begin", the effect of 'unbundle' on the target context persists, until different declarations are given. * Simplified outer syntax: uniform category "name" includes long identifiers. Former "xname" / "nameref" / "name reference" has been discontinued. * Embedded content (e.g. the inner syntax of types, terms, props) may be delimited uniformly via cartouches. This works better than old-fashioned quotes when sub-languages are nested. * Mixfix annotations support general block properties, with syntax "(\x=a y=b z \\". Notable property names are "indent", "consistent", "unbreakable", "markup". The existing notation "(DIGITS" is equivalent to "(\indent=DIGITS\". The former notation "(00" for unbreakable blocks is superseded by "(\unbreabable\" --- rare INCOMPATIBILITY. * Proof method "blast" is more robust wrt. corner cases of Pure statements without object-logic judgment. * Commands 'prf' and 'full_prf' are somewhat more informative (again): proof terms are reconstructed and cleaned from administrative thm nodes. * Code generator: config option "code_timing" triggers measurements of different phases of code generation. See src/HOL/ex/Code_Timing.thy for examples. * Code generator: implicits in Scala (stemming from type class instances) are generated into companion object of corresponding type class, to resolve some situations where ambiguities may occur. * Solve direct: option "solve_direct_strict_warnings" gives explicit warnings for lemma statements with trivial proofs. *** Prover IDE -- Isabelle/Scala/jEdit *** * More aggressive flushing of machine-generated input, according to system option editor_generated_input_delay (in addition to existing editor_input_delay for regular user edits). This may affect overall PIDE reactivity and CPU usage. * Syntactic indentation according to Isabelle outer syntax. Action "indent-lines" (shortcut C+i) indents the current line according to command keywords and some command substructure. Action "isabelle.newline" (shortcut ENTER) indents the old and the new line according to command keywords only; see also option "jedit_indent_newline". * Semantic indentation for unstructured proof scripts ('apply' etc.) via number of subgoals. This requires information of ongoing document processing and may thus lag behind, when the user is editing too quickly; see also option "jedit_script_indent" and "jedit_script_indent_limit". * Refined folding mode "isabelle" based on Isar syntax: 'next' and 'qed' are treated as delimiters for fold structure; 'begin' and 'end' structure of theory specifications is treated as well. * Command 'proof' provides information about proof outline with cases, e.g. for proof methods "cases", "induct", "goal_cases". * Completion templates for commands involving "begin ... end" blocks, e.g. 'context', 'notepad'. * Sidekick parser "isabelle-context" shows nesting of context blocks according to 'begin' and 'end' structure. * Highlighting of entity def/ref positions wrt. cursor. * Action "isabelle.select-entity" (shortcut CS+ENTER) selects all occurrences of the formal entity at the caret position. This facilitates systematic renaming. * PIDE document markup works across multiple Isar commands, e.g. the results established at the end of a proof are properly identified in the theorem statement. * Cartouche abbreviations work both for " and ` to accomodate typical situations where old ASCII notation may be updated. * Dockable window "Symbols" also provides access to 'abbrevs' from the outer syntax of the current theory buffer. This provides clickable syntax templates, including entries with empty abbrevs name (which are inaccessible via keyboard completion). * IDE support for the Isabelle/Pure bootstrap process, with the following independent stages: src/Pure/ROOT0.ML src/Pure/ROOT.ML src/Pure/Pure.thy src/Pure/ML_Bootstrap.thy The ML ROOT files act like quasi-theories in the context of theory ML_Bootstrap: this allows continuous checking of all loaded ML files. The theory files are presented with a modified header to import Pure from the running Isabelle instance. Results from changed versions of each stage are *not* propagated to the next stage, and isolated from the actual Isabelle/Pure that runs the IDE itself. The sequential dependencies of the above files are only observed for batch build. * Isabelle/ML and Standard ML files are presented in Sidekick with the tree structure of section headings: this special comment format is described in "implementation" chapter 0, e.g. (*** section ***). * Additional abbreviations for syntactic completion may be specified within the theory header as 'abbrevs'. The theory syntax for 'keywords' has been simplified accordingly: optional abbrevs need to go into the new 'abbrevs' section. * Global abbreviations via $ISABELLE_HOME/etc/abbrevs and $ISABELLE_HOME_USER/etc/abbrevs are no longer supported. Minor INCOMPATIBILITY, use 'abbrevs' within theory header instead. * Action "isabelle.keymap-merge" asks the user to resolve pending Isabelle keymap changes that are in conflict with the current jEdit keymap; non-conflicting changes are always applied implicitly. This action is automatically invoked on Isabelle/jEdit startup and thus increases chances that users see new keyboard shortcuts when re-using old keymaps. * ML and document antiquotations for file-systems paths are more uniform and diverse: @{path NAME} -- no file-system check @{file NAME} -- check for plain file @{dir NAME} -- check for directory Minor INCOMPATIBILITY, former uses of @{file} and @{file_unchecked} may have to be changed. *** Document preparation *** * New symbol \, e.g. for temporal operator. * New document and ML antiquotation @{locale} for locales, similar to existing antiquotation @{class}. * Mixfix annotations support delimiters like \<^control>\cartouche\ -- this allows special forms of document output. * Raw LaTeX output now works via \<^latex>\...\ instead of raw control symbol \<^raw:...>. INCOMPATIBILITY, notably for LaTeXsugar.thy and its derivatives. * \<^raw:...> symbols are no longer supported. * Old 'header' command is no longer supported (legacy since Isabelle2015). *** Isar *** * Many specification elements support structured statements with 'if' / 'for' eigen-context, e.g. 'axiomatization', 'abbreviation', 'definition', 'inductive', 'function'. * Toplevel theorem statements support eigen-context notation with 'if' / 'for' (in postfix), which corresponds to 'assumes' / 'fixes' in the traditional long statement form (in prefix). Local premises are called "that" or "assms", respectively. Empty premises are *not* bound in the context: INCOMPATIBILITY. * Command 'define' introduces a local (non-polymorphic) definition, with optional abstraction over local parameters. The syntax resembles 'definition' and 'obtain'. It fits better into the Isar language than old 'def', which is now a legacy feature. * Command 'obtain' supports structured statements with 'if' / 'for' context. * Command '\' is an alias for 'sorry', with different typesetting. E.g. to produce proof holes in examples and documentation. * The defining position of a literal fact \prop\ is maintained more carefully, and made accessible as hyperlink in the Prover IDE. * Commands 'finally' and 'ultimately' used to expose the result as literal fact: this accidental behaviour has been discontinued. Rare INCOMPATIBILITY, use more explicit means to refer to facts in Isar. * Command 'axiomatization' has become more restrictive to correspond better to internal axioms as singleton facts with mandatory name. Minor INCOMPATIBILITY. * Proof methods may refer to the main facts via the dynamic fact "method_facts". This is particularly useful for Eisbach method definitions. * Proof method "use" allows to modify the main facts of a given method expression, e.g. (use facts in simp) (use facts in \simp add: ...\) * The old proof method "default" has been removed (legacy since Isabelle2016). INCOMPATIBILITY, use "standard" instead. *** Pure *** * Pure provides basic versions of proof methods "simp" and "simp_all" that only know about meta-equality (==). Potential INCOMPATIBILITY in theory imports that merge Pure with e.g. Main of Isabelle/HOL: the order is relevant to avoid confusion of Pure.simp vs. HOL.simp. * The command 'unfolding' and proof method "unfold" include a second stage where given equations are passed through the attribute "abs_def" before rewriting. This ensures that definitions are fully expanded, regardless of the actual parameters that are provided. Rare INCOMPATIBILITY in some corner cases: use proof method (simp only:) instead, or declare [[unfold_abs_def = false]] in the proof context. * Type-inference improves sorts of newly introduced type variables for the object-logic, using its base sort (i.e. HOL.type for Isabelle/HOL). Thus terms like "f x" or "\x. P x" without any further syntactic context produce x::'a::type in HOL instead of x::'a::{} in Pure. Rare INCOMPATIBILITY, need to provide explicit type constraints for Pure types where this is really intended. *** HOL *** * New proof method "argo" using the built-in Argo solver based on SMT technology. The method can be used to prove goals of quantifier-free propositional logic, goals based on a combination of quantifier-free propositional logic with equality, and goals based on a combination of quantifier-free propositional logic with linear real arithmetic including min/max/abs. See HOL/ex/Argo_Examples.thy for examples. * The new "nunchaku" command integrates the Nunchaku model finder. The tool is experimental. See ~~/src/HOL/Nunchaku/Nunchaku.thy for details. * Metis: The problem encoding has changed very slightly. This might break existing proofs. INCOMPATIBILITY. * Sledgehammer: - The MaSh relevance filter is now faster than before. - Produce syntactically correct Vampire 4.0 problem files. * (Co)datatype package: - New commands for defining corecursive functions and reasoning about them in "~~/src/HOL/Library/BNF_Corec.thy": 'corec', 'corecursive', 'friend_of_corec', and 'corecursion_upto'; and 'corec_unique' proof method. See 'isabelle doc corec'. - The predicator :: ('a \ bool) \ 'a F \ bool is now a first-class citizen in bounded natural functors. - 'primrec' now allows nested calls through the predicator in addition to the map function. - 'bnf' automatically discharges reflexive proof obligations. - 'bnf' outputs a slightly modified proof obligation expressing rel in terms of map and set (not giving a specification for rel makes this one reflexive). - 'bnf' outputs a new proof obligation expressing pred in terms of set (not giving a specification for pred makes this one reflexive). INCOMPATIBILITY: manual 'bnf' declarations may need adjustment. - Renamed lemmas: rel_prod_apply ~> rel_prod_inject pred_prod_apply ~> pred_prod_inject INCOMPATIBILITY. - The "size" plugin has been made compatible again with locales. - The theorems about "rel" and "set" may have a slightly different (but equivalent) form. INCOMPATIBILITY. * The 'coinductive' command produces a proper coinduction rule for mutual coinductive predicates. This new rule replaces the old rule, which exposed details of the internal fixpoint construction and was hard to use. INCOMPATIBILITY. * New abbreviations for negated existence (but not bounded existence): \x. P x \ \ (\x. P x) \!x. P x \ \ (\!x. P x) * The print mode "HOL" for ASCII syntax of binders "!", "?", "?!", "@" has been removed for output. It is retained for input only, until it is eliminated altogether. * The unique existence quantifier no longer provides 'binder' syntax, but uses syntax translations (as for bounded unique existence). Thus iterated quantification \!x y. P x y with its slightly confusing sequential meaning \!x. \!y. P x y is no longer possible. Instead, pattern abstraction admits simultaneous unique existence \!(x, y). P x y (analogous to existing notation \!(x, y)\A. P x y). Potential INCOMPATIBILITY in rare situations. * Conventional syntax "%(). t" for unit abstractions. Slight syntactic INCOMPATIBILITY. * Renamed constants and corresponding theorems: setsum ~> sum setprod ~> prod listsum ~> sum_list listprod ~> prod_list INCOMPATIBILITY. * Sligthly more standardized theorem names: sgn_times ~> sgn_mult sgn_mult' ~> Real_Vector_Spaces.sgn_mult divide_zero_left ~> div_0 zero_mod_left ~> mod_0 divide_zero ~> div_by_0 divide_1 ~> div_by_1 nonzero_mult_divide_cancel_left ~> nonzero_mult_div_cancel_left div_mult_self1_is_id ~> nonzero_mult_div_cancel_left nonzero_mult_divide_cancel_right ~> nonzero_mult_div_cancel_right div_mult_self2_is_id ~> nonzero_mult_div_cancel_right is_unit_divide_mult_cancel_left ~> is_unit_div_mult_cancel_left is_unit_divide_mult_cancel_right ~> is_unit_div_mult_cancel_right mod_div_equality ~> div_mult_mod_eq mod_div_equality2 ~> mult_div_mod_eq mod_div_equality3 ~> mod_div_mult_eq mod_div_equality4 ~> mod_mult_div_eq minus_div_eq_mod ~> minus_div_mult_eq_mod minus_div_eq_mod2 ~> minus_mult_div_eq_mod minus_mod_eq_div ~> minus_mod_eq_div_mult minus_mod_eq_div2 ~> minus_mod_eq_mult_div div_mod_equality' ~> minus_mod_eq_div_mult [symmetric] mod_div_equality' ~> minus_div_mult_eq_mod [symmetric] zmod_zdiv_equality ~> mult_div_mod_eq [symmetric] zmod_zdiv_equality' ~> minus_div_mult_eq_mod [symmetric] Divides.mult_div_cancel ~> minus_mod_eq_mult_div [symmetric] mult_div_cancel ~> minus_mod_eq_mult_div [symmetric] zmult_div_cancel ~> minus_mod_eq_mult_div [symmetric] div_1 ~> div_by_Suc_0 mod_1 ~> mod_by_Suc_0 INCOMPATIBILITY. * New type class "idom_abs_sgn" specifies algebraic properties of sign and absolute value functions. Type class "sgn_if" has disappeared. Slight INCOMPATIBILITY. * Dedicated syntax LENGTH('a) for length of types. * Characters (type char) are modelled as finite algebraic type corresponding to {0..255}. - Logical representation: * 0 is instantiated to the ASCII zero character. * All other characters are represented as "Char n" with n being a raw numeral expression less than 256. * Expressions of the form "Char n" with n greater than 255 are non-canonical. - Printing and parsing: * Printable characters are printed and parsed as "CHR ''\''" (as before). * The ASCII zero character is printed and parsed as "0". * All other canonical characters are printed as "CHR 0xXX" with XX being the hexadecimal character code. "CHR n" is parsable for every numeral expression n. * Non-canonical characters have no special syntax and are printed as their logical representation. - Explicit conversions from and to the natural numbers are provided as char_of_nat, nat_of_char (as before). - The auxiliary nibble type has been discontinued. INCOMPATIBILITY. * Type class "div" with operation "mod" renamed to type class "modulo" with operation "modulo", analogously to type class "divide". This eliminates the need to qualify any of those names in the presence of infix "mod" syntax. INCOMPATIBILITY. * Statements and proofs of Knaster-Tarski fixpoint combinators lfp/gfp have been clarified. The fixpoint properties are lfp_fixpoint, its symmetric lfp_unfold (as before), and the duals for gfp. Auxiliary items for the proof (lfp_lemma2 etc.) are no longer exported, but can be easily recovered by composition with eq_refl. Minor INCOMPATIBILITY. * Constant "surj" is a mere input abbreviation, to avoid hiding an equation in term output. Minor INCOMPATIBILITY. * Command 'code_reflect' accepts empty constructor lists for datatypes, which renders those abstract effectively. * Command 'export_code' checks given constants for abstraction violations: a small guarantee that given constants specify a safe interface for the generated code. * Code generation for Scala: ambiguous implicts in class diagrams are spelt out explicitly. * Static evaluators (Code_Evaluation.static_* in Isabelle/ML) rely on explicitly provided auxiliary definitions for required type class dictionaries rather than half-working magic. INCOMPATIBILITY, see the tutorial on code generation for details. * Theory Set_Interval: substantial new theorems on indexed sums and products. * Locale bijection establishes convenient default simp rules such as "inv f (f a) = a" for total bijections. * Abstract locales semigroup, abel_semigroup, semilattice, semilattice_neutr, ordering, ordering_top, semilattice_order, semilattice_neutr_order, comm_monoid_set, semilattice_set, semilattice_neutr_set, semilattice_order_set, semilattice_order_neutr_set monoid_list, comm_monoid_list, comm_monoid_list_set, comm_monoid_mset, comm_monoid_fun use boldified syntax uniformly that does not clash with corresponding global syntax. INCOMPATIBILITY. * Former locale lifting_syntax is now a bundle, which is easier to include in a local context or theorem statement, e.g. "context includes lifting_syntax begin ... end". Minor INCOMPATIBILITY. * Some old / obsolete theorems have been renamed / removed, potential INCOMPATIBILITY. nat_less_cases -- removed, use linorder_cases instead inv_image_comp -- removed, use image_inv_f_f instead image_surj_f_inv_f ~> image_f_inv_f * Some theorems about groups and orders have been generalised from groups to semi-groups that are also monoids: le_add_same_cancel1 le_add_same_cancel2 less_add_same_cancel1 less_add_same_cancel2 add_le_same_cancel1 add_le_same_cancel2 add_less_same_cancel1 add_less_same_cancel2 * Some simplifications theorems about rings have been removed, since superseeded by a more general version: less_add_cancel_left_greater_zero ~> less_add_same_cancel1 less_add_cancel_right_greater_zero ~> less_add_same_cancel2 less_eq_add_cancel_left_greater_eq_zero ~> le_add_same_cancel1 less_eq_add_cancel_right_greater_eq_zero ~> le_add_same_cancel2 less_eq_add_cancel_left_less_eq_zero ~> add_le_same_cancel1 less_eq_add_cancel_right_less_eq_zero ~> add_le_same_cancel2 less_add_cancel_left_less_zero ~> add_less_same_cancel1 less_add_cancel_right_less_zero ~> add_less_same_cancel2 INCOMPATIBILITY. * Renamed split_if -> if_split and split_if_asm -> if_split_asm to resemble the f.split naming convention, INCOMPATIBILITY. * Added class topological_monoid. * The following theorems have been renamed: setsum_left_distrib ~> sum_distrib_right setsum_right_distrib ~> sum_distrib_left INCOMPATIBILITY. * Compound constants INFIMUM and SUPREMUM are mere abbreviations now. INCOMPATIBILITY. * "Gcd (f ` A)" and "Lcm (f ` A)" are printed with optional comprehension-like syntax analogously to "Inf (f ` A)" and "Sup (f ` A)". * Class semiring_Lcd merged into semiring_Gcd. INCOMPATIBILITY. * The type class ordered_comm_monoid_add is now called ordered_cancel_comm_monoid_add. A new type class ordered_comm_monoid_add is introduced as the combination of ordered_ab_semigroup_add + comm_monoid_add. INCOMPATIBILITY. * Introduced the type classes canonically_ordered_comm_monoid_add and dioid. * Introduced the type class ordered_ab_semigroup_monoid_add_imp_le. When instantiating linordered_semiring_strict and ordered_ab_group_add, an explicit instantiation of ordered_ab_semigroup_monoid_add_imp_le might be required. INCOMPATIBILITY. * Dropped various legacy fact bindings, whose replacements are often of a more general type also: lcm_left_commute_nat ~> lcm.left_commute lcm_left_commute_int ~> lcm.left_commute gcd_left_commute_nat ~> gcd.left_commute gcd_left_commute_int ~> gcd.left_commute gcd_greatest_iff_nat ~> gcd_greatest_iff gcd_greatest_iff_int ~> gcd_greatest_iff coprime_dvd_mult_nat ~> coprime_dvd_mult coprime_dvd_mult_int ~> coprime_dvd_mult zpower_numeral_even ~> power_numeral_even gcd_mult_cancel_nat ~> gcd_mult_cancel gcd_mult_cancel_int ~> gcd_mult_cancel div_gcd_coprime_nat ~> div_gcd_coprime div_gcd_coprime_int ~> div_gcd_coprime zpower_numeral_odd ~> power_numeral_odd zero_less_int_conv ~> of_nat_0_less_iff gcd_greatest_nat ~> gcd_greatest gcd_greatest_int ~> gcd_greatest coprime_mult_nat ~> coprime_mult coprime_mult_int ~> coprime_mult lcm_commute_nat ~> lcm.commute lcm_commute_int ~> lcm.commute int_less_0_conv ~> of_nat_less_0_iff gcd_commute_nat ~> gcd.commute gcd_commute_int ~> gcd.commute Gcd_insert_nat ~> Gcd_insert Gcd_insert_int ~> Gcd_insert of_int_int_eq ~> of_int_of_nat_eq lcm_least_nat ~> lcm_least lcm_least_int ~> lcm_least lcm_assoc_nat ~> lcm.assoc lcm_assoc_int ~> lcm.assoc int_le_0_conv ~> of_nat_le_0_iff int_eq_0_conv ~> of_nat_eq_0_iff Gcd_empty_nat ~> Gcd_empty Gcd_empty_int ~> Gcd_empty gcd_assoc_nat ~> gcd.assoc gcd_assoc_int ~> gcd.assoc zero_zle_int ~> of_nat_0_le_iff lcm_dvd2_nat ~> dvd_lcm2 lcm_dvd2_int ~> dvd_lcm2 lcm_dvd1_nat ~> dvd_lcm1 lcm_dvd1_int ~> dvd_lcm1 gcd_zero_nat ~> gcd_eq_0_iff gcd_zero_int ~> gcd_eq_0_iff gcd_dvd2_nat ~> gcd_dvd2 gcd_dvd2_int ~> gcd_dvd2 gcd_dvd1_nat ~> gcd_dvd1 gcd_dvd1_int ~> gcd_dvd1 int_numeral ~> of_nat_numeral lcm_ac_nat ~> ac_simps lcm_ac_int ~> ac_simps gcd_ac_nat ~> ac_simps gcd_ac_int ~> ac_simps abs_int_eq ~> abs_of_nat zless_int ~> of_nat_less_iff zdiff_int ~> of_nat_diff zadd_int ~> of_nat_add int_mult ~> of_nat_mult int_Suc ~> of_nat_Suc inj_int ~> inj_of_nat int_1 ~> of_nat_1 int_0 ~> of_nat_0 Lcm_empty_nat ~> Lcm_empty Lcm_empty_int ~> Lcm_empty Lcm_insert_nat ~> Lcm_insert Lcm_insert_int ~> Lcm_insert comp_fun_idem_gcd_nat ~> comp_fun_idem_gcd comp_fun_idem_gcd_int ~> comp_fun_idem_gcd comp_fun_idem_lcm_nat ~> comp_fun_idem_lcm comp_fun_idem_lcm_int ~> comp_fun_idem_lcm Lcm_eq_0 ~> Lcm_eq_0_I Lcm0_iff ~> Lcm_0_iff Lcm_dvd_int ~> Lcm_least divides_mult_nat ~> divides_mult divides_mult_int ~> divides_mult lcm_0_nat ~> lcm_0_right lcm_0_int ~> lcm_0_right lcm_0_left_nat ~> lcm_0_left lcm_0_left_int ~> lcm_0_left dvd_gcd_D1_nat ~> dvd_gcdD1 dvd_gcd_D1_int ~> dvd_gcdD1 dvd_gcd_D2_nat ~> dvd_gcdD2 dvd_gcd_D2_int ~> dvd_gcdD2 coprime_dvd_mult_iff_nat ~> coprime_dvd_mult_iff coprime_dvd_mult_iff_int ~> coprime_dvd_mult_iff realpow_minus_mult ~> power_minus_mult realpow_Suc_le_self ~> power_Suc_le_self dvd_Gcd, dvd_Gcd_nat, dvd_Gcd_int removed in favour of Gcd_greatest INCOMPATIBILITY. * Renamed HOL/Quotient_Examples/FSet.thy to HOL/Quotient_Examples/Quotient_FSet.thy INCOMPATIBILITY. * Session HOL-Library: theory FinFun bundles "finfun_syntax" and "no_finfun_syntax" allow to control optional syntax in local contexts; this supersedes former theory FinFun_Syntax. INCOMPATIBILITY, e.g. use "unbundle finfun_syntax" to imitate import of "~~/src/HOL/Library/FinFun_Syntax". * Session HOL-Library: theory Multiset_Permutations (executably) defines the set of permutations of a given set or multiset, i.e. the set of all lists that contain every element of the carrier (multi-)set exactly once. * Session HOL-Library: multiset membership is now expressed using set_mset rather than count. - Expressions "count M a > 0" and similar simplify to membership by default. - Converting between "count M a = 0" and non-membership happens using equations count_eq_zero_iff and not_in_iff. - Rules count_inI and in_countE obtain facts of the form "count M a = n" from membership. - Rules count_in_diffI and in_diff_countE obtain facts of the form "count M a = n + count N a" from membership on difference sets. INCOMPATIBILITY. * Session HOL-Library: theory LaTeXsugar uses new-style "dummy_pats" for displaying equations in functional programming style --- variables present on the left-hand but not on the righ-hand side are replaced by underscores. * Session HOL-Library: theory Combinator_PER provides combinator to build partial equivalence relations from a predicate and an equivalence relation. * Session HOL-Library: theory Perm provides basic facts about almost everywhere fix bijections. * Session HOL-Library: theory Normalized_Fraction allows viewing an element of a field of fractions as a normalized fraction (i.e. a pair of numerator and denominator such that the two are coprime and the denominator is normalized wrt. unit factors). * Session HOL-NSA has been renamed to HOL-Nonstandard_Analysis. * Session HOL-Multivariate_Analysis has been renamed to HOL-Analysis. * Session HOL-Analysis: measure theory has been moved here from HOL-Probability. When importing HOL-Analysis some theorems need additional name spaces prefixes due to name clashes. INCOMPATIBILITY. * Session HOL-Analysis: more complex analysis including Cauchy's inequality, Liouville theorem, open mapping theorem, maximum modulus principle, Residue theorem, Schwarz Lemma. * Session HOL-Analysis: Theory of polyhedra: faces, extreme points, polytopes, and the Krein–Milman Minkowski theorem. * Session HOL-Analysis: Numerous results ported from the HOL Light libraries: homeomorphisms, continuous function extensions, invariance of domain. * Session HOL-Probability: the type of emeasure and nn_integral was changed from ereal to ennreal, INCOMPATIBILITY. emeasure :: 'a measure \ 'a set \ ennreal nn_integral :: 'a measure \ ('a \ ennreal) \ ennreal * Session HOL-Probability: Code generation and QuickCheck for Probability Mass Functions. * Session HOL-Probability: theory Random_Permutations contains some theory about choosing a permutation of a set uniformly at random and folding over a list in random order. * Session HOL-Probability: theory SPMF formalises discrete subprobability distributions. * Session HOL-Library: the names of multiset theorems have been normalised to distinguish which ordering the theorems are about mset_less_eqI ~> mset_subset_eqI mset_less_insertD ~> mset_subset_insertD mset_less_eq_count ~> mset_subset_eq_count mset_less_diff_self ~> mset_subset_diff_self mset_le_exists_conv ~> mset_subset_eq_exists_conv mset_le_mono_add_right_cancel ~> mset_subset_eq_mono_add_right_cancel mset_le_mono_add_left_cancel ~> mset_subset_eq_mono_add_left_cancel mset_le_mono_add ~> mset_subset_eq_mono_add mset_le_add_left ~> mset_subset_eq_add_left mset_le_add_right ~> mset_subset_eq_add_right mset_le_single ~> mset_subset_eq_single mset_le_multiset_union_diff_commute ~> mset_subset_eq_multiset_union_diff_commute diff_le_self ~> diff_subset_eq_self mset_leD ~> mset_subset_eqD mset_lessD ~> mset_subsetD mset_le_insertD ~> mset_subset_eq_insertD mset_less_of_empty ~> mset_subset_of_empty mset_less_size ~> mset_subset_size wf_less_mset_rel ~> wf_subset_mset_rel count_le_replicate_mset_le ~> count_le_replicate_mset_subset_eq mset_remdups_le ~> mset_remdups_subset_eq ms_lesseq_impl ~> subset_eq_mset_impl Some functions have been renamed: ms_lesseq_impl -> subset_eq_mset_impl * HOL-Library: multisets are now ordered with the multiset ordering #\# ~> \ #\# ~> < le_multiset ~> less_eq_multiset less_multiset ~> le_multiset INCOMPATIBILITY. * Session HOL-Library: the prefix multiset_order has been discontinued: the theorems can be directly accessed. As a consequence, the lemmas "order_multiset" and "linorder_multiset" have been discontinued, and the interpretations "multiset_linorder" and "multiset_wellorder" have been replaced by instantiations. INCOMPATIBILITY. * Session HOL-Library: some theorems about the multiset ordering have been renamed: le_multiset_def ~> less_eq_multiset_def less_multiset_def ~> le_multiset_def less_eq_imp_le_multiset ~> subset_eq_imp_le_multiset mult_less_not_refl ~> mset_le_not_refl mult_less_trans ~> mset_le_trans mult_less_not_sym ~> mset_le_not_sym mult_less_asym ~> mset_le_asym mult_less_irrefl ~> mset_le_irrefl union_less_mono2{,1,2} ~> union_le_mono2{,1,2} le_multiset\<^sub>H\<^sub>O ~> less_eq_multiset\<^sub>H\<^sub>O le_multiset_total ~> less_eq_multiset_total less_multiset_right_total ~> subset_eq_imp_le_multiset le_multiset_empty_left ~> less_eq_multiset_empty_left le_multiset_empty_right ~> less_eq_multiset_empty_right less_multiset_empty_right ~> le_multiset_empty_left less_multiset_empty_left ~> le_multiset_empty_right union_less_diff_plus ~> union_le_diff_plus ex_gt_count_imp_less_multiset ~> ex_gt_count_imp_le_multiset less_multiset_plus_left_nonempty ~> le_multiset_plus_left_nonempty le_multiset_plus_right_nonempty ~> le_multiset_plus_right_nonempty INCOMPATIBILITY. * Session HOL-Library: the lemma mset_map has now the attribute [simp]. INCOMPATIBILITY. * Session HOL-Library: some theorems about multisets have been removed. INCOMPATIBILITY, use the following replacements: le_multiset_plus_plus_left_iff ~> add_less_cancel_right less_multiset_plus_plus_left_iff ~> add_less_cancel_right le_multiset_plus_plus_right_iff ~> add_less_cancel_left less_multiset_plus_plus_right_iff ~> add_less_cancel_left add_eq_self_empty_iff ~> add_cancel_left_right mset_subset_add_bothsides ~> subset_mset.add_less_cancel_right mset_less_add_bothsides ~> subset_mset.add_less_cancel_right mset_le_add_bothsides ~> subset_mset.add_less_cancel_right empty_inter ~> subset_mset.inf_bot_left inter_empty ~> subset_mset.inf_bot_right empty_sup ~> subset_mset.sup_bot_left sup_empty ~> subset_mset.sup_bot_right bdd_below_multiset ~> subset_mset.bdd_above_bot subset_eq_empty ~> subset_mset.le_zero_eq le_empty ~> subset_mset.le_zero_eq mset_subset_empty_nonempty ~> subset_mset.zero_less_iff_neq_zero mset_less_empty_nonempty ~> subset_mset.zero_less_iff_neq_zero * Session HOL-Library: some typeclass constraints about multisets have been reduced from ordered or linordered to preorder. Multisets have the additional typeclasses order_bot, no_top, ordered_ab_semigroup_add_imp_le, ordered_cancel_comm_monoid_add, linordered_cancel_ab_semigroup_add, and ordered_ab_semigroup_monoid_add_imp_le. INCOMPATIBILITY. * Session HOL-Library: there are some new simplification rules about multisets, the multiset ordering, and the subset ordering on multisets. INCOMPATIBILITY. * Session HOL-Library: the subset ordering on multisets has now the interpretations ordered_ab_semigroup_monoid_add_imp_le and bounded_lattice_bot. INCOMPATIBILITY. * Session HOL-Library, theory Multiset: single has been removed in favor of add_mset that roughly corresponds to Set.insert. Some theorems have removed or changed: single_not_empty ~> add_mset_not_empty or empty_not_add_mset fold_mset_insert ~> fold_mset_add_mset image_mset_insert ~> image_mset_add_mset union_single_eq_diff multi_self_add_other_not_self diff_single_eq_union INCOMPATIBILITY. * Session HOL-Library, theory Multiset: some theorems have been changed to use add_mset instead of single: mset_add multi_self_add_other_not_self diff_single_eq_union union_single_eq_diff union_single_eq_member add_eq_conv_diff insert_noteq_member add_eq_conv_ex multi_member_split multiset_add_sub_el_shuffle mset_subset_eq_insertD mset_subset_insertD insert_subset_eq_iff insert_union_subset_iff multi_psub_of_add_self inter_add_left1 inter_add_left2 inter_add_right1 inter_add_right2 sup_union_left1 sup_union_left2 sup_union_right1 sup_union_right2 size_eq_Suc_imp_eq_union multi_nonempty_split mset_insort mset_update mult1I less_add mset_zip_take_Cons_drop_twice rel_mset_Zero msed_map_invL msed_map_invR msed_rel_invL msed_rel_invR le_multiset_right_total multiset_induct multiset_induct2_size multiset_induct2 INCOMPATIBILITY. * Session HOL-Library, theory Multiset: the definitions of some constants have changed to use add_mset instead of adding a single element: image_mset mset replicate_mset mult1 pred_mset rel_mset' mset_insort INCOMPATIBILITY. * Session HOL-Library, theory Multiset: due to the above changes, the attributes of some multiset theorems have been changed: insert_DiffM [] ~> [simp] insert_DiffM2 [simp] ~> [] diff_add_mset_swap [simp] fold_mset_add_mset [simp] diff_diff_add [simp] (for multisets only) diff_cancel [simp] ~> [] count_single [simp] ~> [] set_mset_single [simp] ~> [] size_multiset_single [simp] ~> [] size_single [simp] ~> [] image_mset_single [simp] ~> [] mset_subset_eq_mono_add_right_cancel [simp] ~> [] mset_subset_eq_mono_add_left_cancel [simp] ~> [] fold_mset_single [simp] ~> [] subset_eq_empty [simp] ~> [] empty_sup [simp] ~> [] sup_empty [simp] ~> [] inter_empty [simp] ~> [] empty_inter [simp] ~> [] INCOMPATIBILITY. * Session HOL-Library, theory Multiset: the order of the variables in the second cases of multiset_induct, multiset_induct2_size, multiset_induct2 has been changed (e.g. Add A a ~> Add a A). INCOMPATIBILITY. * Session HOL-Library, theory Multiset: there is now a simplification procedure on multisets. It mimics the behavior of the procedure on natural numbers. INCOMPATIBILITY. * Session HOL-Library, theory Multiset: renamed sums and products of multisets: msetsum ~> sum_mset msetprod ~> prod_mset * Session HOL-Library, theory Multiset: the notation for intersection and union of multisets have been changed: #\ ~> \# #\ ~> \# INCOMPATIBILITY. * Session HOL-Library, theory Multiset: the lemma one_step_implies_mult_aux on multisets has been removed, use one_step_implies_mult instead. INCOMPATIBILITY. * Session HOL-Library: theory Complete_Partial_Order2 provides reasoning support for monotonicity and continuity in chain-complete partial orders and about admissibility conditions for fixpoint inductions. * Session HOL-Library: theory Library/Polynomial contains also derivation of polynomials (formerly in Library/Poly_Deriv) but not gcd/lcm on polynomials over fields. This has been moved to a separate theory Library/Polynomial_GCD_euclidean.thy, to pave way for a possible future different type class instantiation for polynomials over factorial rings. INCOMPATIBILITY. * Session HOL-Library: theory Sublist provides function "prefixes" with the following renaming prefixeq -> prefix prefix -> strict_prefix suffixeq -> suffix suffix -> strict_suffix Added theory of longest common prefixes. * Session HOL-Number_Theory: algebraic foundation for primes: Generalisation of predicate "prime" and introduction of predicates "prime_elem", "irreducible", a "prime_factorization" function, and the "factorial_ring" typeclass with instance proofs for nat, int, poly. Some theorems now have different names, most notably "prime_def" is now "prime_nat_iff". INCOMPATIBILITY. * Session Old_Number_Theory has been removed, after porting remaining theories. * Session HOL-Types_To_Sets provides an experimental extension of Higher-Order Logic to allow translation of types to sets. *** ML *** * Integer.gcd and Integer.lcm use efficient operations from the Poly/ML library (notably for big integers). Subtle change of semantics: Integer.gcd and Integer.lcm both normalize the sign, results are never negative. This coincides with the definitions in HOL/GCD.thy. INCOMPATIBILITY. * Structure Rat for rational numbers is now an integral part of Isabelle/ML, with special notation @int/nat or @int for numerals (an abbreviation for antiquotation @{Pure.rat argument}) and ML pretty printing. Standard operations on type Rat.rat are provided via ad-hoc overloading of + - * / < <= > >= ~ abs. INCOMPATIBILITY, need to use + instead of +/ etc. Moreover, exception Rat.DIVZERO has been superseded by General.Div. * ML antiquotation @{path} is superseded by @{file}, which ensures that the argument is a plain file. Minor INCOMPATIBILITY. * Antiquotation @{make_string} is available during Pure bootstrap -- with approximative output quality. * Low-level ML system structures (like PolyML and RunCall) are no longer exposed to Isabelle/ML user-space. Potential INCOMPATIBILITY. * The ML function "ML" provides easy access to run-time compilation. This is particularly useful for conditional compilation, without requiring separate files. * Option ML_exception_debugger controls detailed exception trace via the Poly/ML debugger. Relevant ML modules need to be compiled beforehand with ML_file_debug, or with ML_file and option ML_debugger enabled. Note debugger information requires consirable time and space: main Isabelle/HOL with full debugger support may need ML_system_64. * Local_Theory.restore has been renamed to Local_Theory.reset to emphasize its disruptive impact on the cumulative context, notably the scope of 'private' or 'qualified' names. Note that Local_Theory.reset is only appropriate when targets are managed, e.g. starting from a global theory and returning to it. Regular definitional packages should use balanced blocks of Local_Theory.open_target versus Local_Theory.close_target instead. Rare INCOMPATIBILITY. * Structure TimeLimit (originally from the SML/NJ library) has been replaced by structure Timeout, with slightly different signature. INCOMPATIBILITY. * Discontinued cd and pwd operations, which are not well-defined in a multi-threaded environment. Note that files are usually located relatively to the master directory of a theory (see also File.full_path). Potential INCOMPATIBILITY. * Binding.empty_atts supersedes Thm.empty_binding and Attrib.empty_binding. Minor INCOMPATIBILITY. *** System *** * SML/NJ and old versions of Poly/ML are no longer supported. * Poly/ML heaps now follow the hierarchy of sessions, and thus require much less disk space. * The Isabelle ML process is now managed directly by Isabelle/Scala, and shell scripts merely provide optional command-line access. In particular: . Scala module ML_Process to connect to the raw ML process, with interaction via stdin/stdout/stderr or in batch mode; . command-line tool "isabelle console" as interactive wrapper; . command-line tool "isabelle process" as batch mode wrapper. * The executable "isabelle_process" has been discontinued. Tools and prover front-ends should use ML_Process or Isabelle_Process in Isabelle/Scala. INCOMPATIBILITY. * New command-line tool "isabelle process" supports ML evaluation of literal expressions (option -e) or files (option -f) in the context of a given heap image. Errors lead to premature exit of the ML process with return code 1. * The command-line tool "isabelle build" supports option -N for cyclic shuffling of NUMA CPU nodes. This may help performance tuning on Linux servers with separate CPU/memory modules. * System option "threads" (for the size of the Isabelle/ML thread farm) is also passed to the underlying ML runtime system as --gcthreads, unless there is already a default provided via ML_OPTIONS settings. * System option "checkpoint" helps to fine-tune the global heap space management of isabelle build. This is relevant for big sessions that may exhaust the small 32-bit address space of the ML process (which is used by default). * System option "profiling" specifies the mode for global ML profiling in "isabelle build". Possible values are "time", "allocations". The command-line tool "isabelle profiling_report" helps to digest the resulting log files. * System option "ML_process_policy" specifies an optional command prefix for the underlying ML process, e.g. to control CPU affinity on multiprocessor systems. The "isabelle jedit" tool allows to override the implicit default via option -p. * Command-line tool "isabelle console" provides option -r to help to bootstrapping Isabelle/Pure interactively. * Command-line tool "isabelle yxml" has been discontinued. INCOMPATIBILITY, use operations from the modules "XML" and "YXML" in Isabelle/ML or Isabelle/Scala. * Many Isabelle tools that require a Java runtime system refer to the settings ISABELLE_TOOL_JAVA_OPTIONS32 / ISABELLE_TOOL_JAVA_OPTIONS64, depending on the underlying platform. The settings for "isabelle build" ISABELLE_BUILD_JAVA_OPTIONS32 / ISABELLE_BUILD_JAVA_OPTIONS64 have been discontinued. Potential INCOMPATIBILITY. * The Isabelle system environment always ensures that the main executables are found within the shell search $PATH: "isabelle" and "isabelle_scala_script". * Isabelle tools may consist of .scala files: the Scala compiler is invoked on the spot. The source needs to define some object that extends Isabelle_Tool.Body. * File.bash_string, File.bash_path etc. represent Isabelle/ML and Isabelle/Scala strings authentically within GNU bash. This is useful to produce robust shell scripts under program control, without worrying about spaces or special characters. Note that user output works via Path.print (ML) or Path.toString (Scala). INCOMPATIBILITY, the old (and less versatile) operations File.shell_quote, File.shell_path etc. have been discontinued. * The isabelle_java executable allows to run a Java process within the name space of Java and Scala components that are bundled with Isabelle, but without the Isabelle settings environment. * Isabelle/Scala: the SSH module supports ssh and sftp connections, for remote command-execution and file-system access. This resembles operations from module File and Isabelle_System to some extent. Note that Path specifications need to be resolved remotely via ssh.remote_path instead of File.standard_path: the implicit process environment is different, Isabelle settings are not available remotely. * Isabelle/Scala: the Mercurial module supports repositories via the regular hg command-line interface. The repositroy clone and working directory may reside on a local or remote file-system (via ssh connection). New in Isabelle2016 (February 2016) ----------------------------------- *** General *** * Eisbach is now based on Pure instead of HOL. Objects-logics may import either the theory ~~/src/HOL/Eisbach/Eisbach (for HOL etc.) or ~~/src/HOL/Eisbach/Eisbach_Old_Appl_Syntax (for FOL, ZF etc.). Note that the HOL-Eisbach session located in ~~/src/HOL/Eisbach/ contains further examples that do require HOL. * Better resource usage on all platforms (Linux, Windows, Mac OS X) for both Isabelle/ML and Isabelle/Scala. Slightly reduced heap space usage. * Former "xsymbols" syntax with Isabelle symbols is used by default, without any special print mode. Important ASCII replacement syntax remains available under print mode "ASCII", but less important syntax has been removed (see below). * Support for more arrow symbols, with rendering in LaTeX and Isabelle fonts: \ \ \ \ \ \. * Special notation \ for the first implicit 'structure' in the context has been discontinued. Rare INCOMPATIBILITY, use explicit structure name instead, notably in indexed notation with block-subscript (e.g. \\<^bsub>A\<^esub>). * The glyph for \ in the IsabelleText font now corresponds better to its counterpart \ as quantifier-like symbol. A small diamond is available as \; the old symbol \ loses this rendering and any special meaning. * Syntax for formal comments "-- text" now also supports the symbolic form "\ text". Command-line tool "isabelle update_cartouches -c" helps to update old sources. * Toplevel theorem statements have been simplified as follows: theorems ~> lemmas schematic_lemma ~> schematic_goal schematic_theorem ~> schematic_goal schematic_corollary ~> schematic_goal Command-line tool "isabelle update_theorems" updates theory sources accordingly. * Toplevel theorem statement 'proposition' is another alias for 'theorem'. * The old 'defs' command has been removed (legacy since Isabelle2014). INCOMPATIBILITY, use regular 'definition' instead. Overloaded and/or deferred definitions require a surrounding 'overloading' block. *** Prover IDE -- Isabelle/Scala/jEdit *** * IDE support for the source-level debugger of Poly/ML, to work with Isabelle/ML and official Standard ML. Option "ML_debugger" and commands 'ML_file_debug', 'ML_file_no_debug', 'SML_file_debug', 'SML_file_no_debug' control compilation of sources with or without debugging information. The Debugger panel allows to set breakpoints (via context menu), step through stopped threads, evaluate local ML expressions etc. At least one Debugger view needs to be active to have any effect on the running ML program. * The State panel manages explicit proof state output, with dynamic auto-update according to cursor movement. Alternatively, the jEdit action "isabelle.update-state" (shortcut S+ENTER) triggers manual update. * The Output panel no longer shows proof state output by default, to avoid GUI overcrowding. INCOMPATIBILITY, use the State panel instead or enable option "editor_output_state". * The text overview column (status of errors, warnings etc.) is updated asynchronously, leading to much better editor reactivity. Moreover, the full document node content is taken into account. The width of the column is scaled according to the main text area font, for improved visibility. * The main text area no longer changes its color hue in outdated situations. The text overview column takes over the role to indicate unfinished edits in the PIDE pipeline. This avoids flashing text display due to ad-hoc updates by auxiliary GUI components, such as the State panel. * Slightly improved scheduling for urgent print tasks (e.g. command state output, interactive queries) wrt. long-running background tasks. * Completion of symbols via prefix of \ or \<^name> or \name is always possible, independently of the language context. It is never implicit: a popup will show up unconditionally. * Additional abbreviations for syntactic completion may be specified in $ISABELLE_HOME/etc/abbrevs and $ISABELLE_HOME_USER/etc/abbrevs, with support for simple templates using ASCII 007 (bell) as placeholder. * Symbols \, \, \, \, \, \, \, \ no longer provide abbreviations for completion like "+o", "*o", ".o" etc. -- due to conflicts with other ASCII syntax. INCOMPATIBILITY, use plain backslash-completion or define suitable abbreviations in $ISABELLE_HOME_USER/etc/abbrevs. * Action "isabelle-emph" (with keyboard shortcut C+e LEFT) controls emphasized text style; the effect is visible in document output, not in the editor. * Action "isabelle-reset" now uses keyboard shortcut C+e BACK_SPACE, instead of former C+e LEFT. * The command-line tool "isabelle jedit" and the isabelle.Main application wrapper treat the default $USER_HOME/Scratch.thy more uniformly, and allow the dummy file argument ":" to open an empty buffer instead. * New command-line tool "isabelle jedit_client" allows to connect to an already running Isabelle/jEdit process. This achieves the effect of single-instance applications seen on common GUI desktops. * The default look-and-feel for Linux is the traditional "Metal", which works better with GUI scaling for very high-resolution displays (e.g. 4K). Moreover, it is generally more robust than "Nimbus". * Update to jedit-5.3.0, with improved GUI scaling and support of high-resolution displays (e.g. 4K). * The main Isabelle executable is managed as single-instance Desktop application uniformly on all platforms: Linux, Windows, Mac OS X. *** Document preparation *** * Commands 'paragraph' and 'subparagraph' provide additional section headings. Thus there are 6 levels of standard headings, as in HTML. * Command 'text_raw' has been clarified: input text is processed as in 'text' (with antiquotations and control symbols). The key difference is the lack of the surrounding isabelle markup environment in output. * Text is structured in paragraphs and nested lists, using notation that is similar to Markdown. The control symbols for list items are as follows: \<^item> itemize \<^enum> enumerate \<^descr> description * There is a new short form for antiquotations with a single argument that is a cartouche: \<^name>\...\ is equivalent to @{name \...\} and \...\ without control symbol is equivalent to @{cartouche \...\}. \<^name> without following cartouche is equivalent to @{name}. The standard Isabelle fonts provide glyphs to render important control symbols, e.g. "\<^verbatim>", "\<^emph>", "\<^bold>". * Antiquotations @{noindent}, @{smallskip}, @{medskip}, @{bigskip} with corresponding control symbols \<^noindent>, \<^smallskip>, \<^medskip>, \<^bigskip> specify spacing formally, using standard LaTeX macros of the same names. * Antiquotation @{cartouche} in Isabelle/Pure is the same as @{text}. Consequently, \...\ without any decoration prints literal quasi-formal text. Command-line tool "isabelle update_cartouches -t" helps to update old sources, by approximative patching of the content of string and cartouche tokens seen in theory sources. * The @{text} antiquotation now ignores the antiquotation option "source". The given text content is output unconditionally, without any surrounding quotes etc. Subtle INCOMPATIBILITY, put quotes into the argument where they are really intended, e.g. @{text \"foo"\}. Initial or terminal spaces are ignored. * Antiquotations @{emph} and @{bold} output LaTeX source recursively, adding appropriate text style markup. These may be used in the short form \<^emph>\...\ and \<^bold>\...\. * Document antiquotation @{footnote} outputs LaTeX source recursively, marked as \footnote{}. This may be used in the short form \<^footnote>\...\. * Antiquotation @{verbatim [display]} supports option "indent". * Antiquotation @{theory_text} prints uninterpreted theory source text (Isar outer syntax with command keywords etc.). This may be used in the short form \<^theory_text>\...\. @{theory_text [display]} supports option "indent". * Antiquotation @{doc ENTRY} provides a reference to the given documentation, with a hyperlink in the Prover IDE. * Antiquotations @{command}, @{method}, @{attribute} print checked entities of the Isar language. * HTML presentation uses the standard IsabelleText font and Unicode rendering of Isabelle symbols like Isabelle/Scala/jEdit. The former print mode "HTML" loses its special meaning. *** Isar *** * Local goals ('have', 'show', 'hence', 'thus') allow structured rule statements like fixes/assumes/shows in theorem specifications, but the notation is postfix with keywords 'if' (or 'when') and 'for'. For example: have result: "C x y" if "A x" and "B y" for x :: 'a and y :: 'a The local assumptions are bound to the name "that". The result is exported from context of the statement as usual. The above roughly corresponds to a raw proof block like this: { fix x :: 'a and y :: 'a assume that: "A x" "B y" have "C x y" } note result = this The keyword 'when' may be used instead of 'if', to indicate 'presume' instead of 'assume' above. * Assumptions ('assume', 'presume') allow structured rule statements using 'if' and 'for', similar to 'have' etc. above. For example: assume result: "C x y" if "A x" and "B y" for x :: 'a and y :: 'a This assumes "\x y::'a. A x \ B y \ C x y" and produces a general result as usual: "A ?x \ B ?y \ C ?x ?y". Vacuous quantification in assumptions is omitted, i.e. a for-context only effects propositions according to actual use of variables. For example: assume "A x" and "B y" for x and y is equivalent to: assume "\x. A x" and "\y. B y" * The meaning of 'show' with Pure rule statements has changed: premises are treated in the sense of 'assume', instead of 'presume'. This means, a goal like "\x. A x \ B x \ C x" can be solved completely as follows: show "\x. A x \ B x \ C x" or: show "C x" if "A x" "B x" for x Rare INCOMPATIBILITY, the old behaviour may be recovered as follows: show "C x" when "A x" "B x" for x * New command 'consider' states rules for generalized elimination and case splitting. This is like a toplevel statement "theorem obtains" used within a proof body; or like a multi-branch 'obtain' without activation of the local context elements yet. * Proof method "cases" allows to specify the rule as first entry of chained facts. This is particularly useful with 'consider': consider (a) A | (b) B | (c) C then have something proof cases case a then show ?thesis next case b then show ?thesis next case c then show ?thesis qed * Command 'case' allows fact name and attribute specification like this: case a: (c xs) case a [attributes]: (c xs) Facts that are introduced by invoking the case context are uniformly qualified by "a"; the same name is used for the cumulative fact. The old form "case (c xs) [attributes]" is no longer supported. Rare INCOMPATIBILITY, need to adapt uses of case facts in exotic situations, and always put attributes in front. * The standard proof method of commands 'proof' and '..' is now called "standard" to make semantically clear what it is; the old name "default" is still available as legacy for some time. Documentation now explains '..' more accurately as "by standard" instead of "by rule". * Nesting of Isar goal structure has been clarified: the context after the initial backwards refinement is retained for the whole proof, within all its context sections (as indicated via 'next'). This is e.g. relevant for 'using', 'including', 'supply': have "A \ A" if a: A for A supply [simp] = a proof show A by simp next show A by simp qed * Command 'obtain' binds term abbreviations (via 'is' patterns) in the proof body as well, abstracted over relevant parameters. * Improved type-inference for theorem statement 'obtains': separate parameter scope for of each clause. * Term abbreviations via 'is' patterns also work for schematic statements: result is abstracted over unknowns. * Command 'subgoal' allows to impose some structure on backward refinements, to avoid proof scripts degenerating into long of 'apply' sequences. Further explanations and examples are given in the isar-ref manual. * Command 'supply' supports fact definitions during goal refinement ('apply' scripts). * Proof method "goal_cases" turns the current subgoals into cases within the context; the conclusion is bound to variable ?case in each case. For example: lemma "\x. A x \ B x \ C x" and "\y z. U y \ V z \ W y z" proof goal_cases case (1 x) then show ?case using \A x\ \B x\ sorry next case (2 y z) then show ?case using \U y\ \V z\ sorry qed lemma "\x. A x \ B x \ C x" and "\y z. U y \ V z \ W y z" proof goal_cases case prems: 1 then show ?case using prems sorry next case prems: 2 then show ?case using prems sorry qed * The undocumented feature of implicit cases goal1, goal2, goal3, etc. is marked as legacy, and will be removed eventually. The proof method "goals" achieves a similar effect within regular Isar; often it can be done more adequately by other means (e.g. 'consider'). * The vacuous fact "TERM x" may be established "by fact" or as `TERM x` as well, not just "by this" or "." as before. * Method "sleep" succeeds after a real-time delay (in seconds). This is occasionally useful for demonstration and testing purposes. *** Pure *** * Qualifiers in locale expressions default to mandatory ('!') regardless of the command. Previously, for 'locale' and 'sublocale' the default was optional ('?'). The old synatx '!' has been discontinued. INCOMPATIBILITY, remove '!' and add '?' as required. * Keyword 'rewrites' identifies rewrite morphisms in interpretation commands. Previously, the keyword was 'where'. INCOMPATIBILITY. * More gentle suppression of syntax along locale morphisms while printing terms. Previously 'abbreviation' and 'notation' declarations would be suppressed for morphisms except term identity. Now 'abbreviation' is also kept for morphims that only change the involved parameters, and only 'notation' is suppressed. This can be of great help when working with complex locale hierarchies, because proof states are displayed much more succinctly. It also means that only notation needs to be redeclared if desired, as illustrated by this example: locale struct = fixes composition :: "'a => 'a => 'a" (infixl "\" 65) begin definition derived (infixl "\" 65) where ... end locale morphism = left: struct composition + right: struct composition' for composition (infix "\" 65) and composition' (infix "\''" 65) begin notation right.derived ("\''") end * Command 'global_interpretation' issues interpretations into global theories, with optional rewrite definitions following keyword 'defines'. * Command 'sublocale' accepts optional rewrite definitions after keyword 'defines'. * Command 'permanent_interpretation' has been discontinued. Use 'global_interpretation' or 'sublocale' instead. INCOMPATIBILITY. * Command 'print_definitions' prints dependencies of definitional specifications. This functionality used to be part of 'print_theory'. * Configuration option rule_insts_schematic has been discontinued (intermediate legacy feature in Isabelle2015). INCOMPATIBILITY. * Abbreviations in type classes now carry proper sort constraint. Rare INCOMPATIBILITY in situations where the previous misbehaviour has been exploited. * Refinement of user-space type system in type classes: pseudo-local operations behave more similar to abbreviations. Potential INCOMPATIBILITY in exotic situations. *** HOL *** * The 'typedef' command has been upgraded from a partially checked "axiomatization", to a full definitional specification that takes the global collection of overloaded constant / type definitions into account. Type definitions with open dependencies on overloaded definitions need to be specified as "typedef (overloaded)". This provides extra robustness in theory construction. Rare INCOMPATIBILITY. * Qualification of various formal entities in the libraries is done more uniformly via "context begin qualified definition ... end" instead of old-style "hide_const (open) ...". Consequently, both the defined constant and its defining fact become qualified, e.g. Option.is_none and Option.is_none_def. Occasional INCOMPATIBILITY in applications. * Some old and rarely used ASCII replacement syntax has been removed. INCOMPATIBILITY, standard syntax with symbols should be used instead. The subsequent commands help to reproduce the old forms, e.g. to simplify porting old theories: notation iff (infixr "<->" 25) notation Times (infixr "<*>" 80) type_notation Map.map (infixr "~=>" 0) notation Map.map_comp (infixl "o'_m" 55) type_notation FinFun.finfun ("(_ =>f /_)" [22, 21] 21) notation FuncSet.funcset (infixr "->" 60) notation FuncSet.extensional_funcset (infixr "->\<^sub>E" 60) notation Omega_Words_Fun.conc (infixr "conc" 65) notation Preorder.equiv ("op ~~") and Preorder.equiv ("(_/ ~~ _)" [51, 51] 50) notation (in topological_space) tendsto (infixr "--->" 55) notation (in topological_space) LIMSEQ ("((_)/ ----> (_))" [60, 60] 60) notation LIM ("((_)/ -- (_)/ --> (_))" [60, 0, 60] 60) notation NSA.approx (infixl "@=" 50) notation NSLIMSEQ ("((_)/ ----NS> (_))" [60, 60] 60) notation NSLIM ("((_)/ -- (_)/ --NS> (_))" [60, 0, 60] 60) * The alternative notation "\" for type and sort constraints has been removed: in LaTeX document output it looks the same as "::". INCOMPATIBILITY, use plain "::" instead. * Commands 'inductive' and 'inductive_set' work better when names for intro rules are omitted: the "cases" and "induct" rules no longer declare empty case_names, but no case_names at all. This allows to use numbered cases in proofs, without requiring method "goal_cases". * Inductive definitions ('inductive', 'coinductive', etc.) expose low-level facts of the internal construction only if the option "inductive_internals" is enabled. This refers to the internal predicate definition and its monotonicity result. Rare INCOMPATIBILITY. * Recursive function definitions ('fun', 'function', 'partial_function') expose low-level facts of the internal construction only if the option "function_internals" is enabled. Its internal inductive definition is also subject to "inductive_internals". Rare INCOMPATIBILITY. * BNF datatypes ('datatype', 'codatatype', etc.) expose low-level facts of the internal construction only if the option "bnf_internals" is enabled. This supersedes the former option "bnf_note_all". Rare INCOMPATIBILITY. * Combinator to represent case distinction on products is named "case_prod", uniformly, discontinuing any input aliasses. Very popular theorem aliasses have been retained. Consolidated facts: PairE ~> prod.exhaust Pair_eq ~> prod.inject pair_collapse ~> prod.collapse Pair_fst_snd_eq ~> prod_eq_iff split_twice ~> prod.case_distrib split_weak_cong ~> prod.case_cong_weak split_split ~> prod.split split_split_asm ~> prod.split_asm splitI ~> case_prodI splitD ~> case_prodD splitI2 ~> case_prodI2 splitI2' ~> case_prodI2' splitE ~> case_prodE splitE' ~> case_prodE' split_pair ~> case_prod_Pair split_eta ~> case_prod_eta split_comp ~> case_prod_comp mem_splitI ~> mem_case_prodI mem_splitI2 ~> mem_case_prodI2 mem_splitE ~> mem_case_prodE The_split ~> The_case_prod cond_split_eta ~> cond_case_prod_eta Collect_split_in_rel_leE ~> Collect_case_prod_in_rel_leE Collect_split_in_rel_leI ~> Collect_case_prod_in_rel_leI in_rel_Collect_split_eq ~> in_rel_Collect_case_prod_eq Collect_split_Grp_eqD ~> Collect_case_prod_Grp_eqD Collect_split_Grp_inD ~> Collect_case_prod_Grp_in Domain_Collect_split ~> Domain_Collect_case_prod Image_Collect_split ~> Image_Collect_case_prod Range_Collect_split ~> Range_Collect_case_prod Eps_split ~> Eps_case_prod Eps_split_eq ~> Eps_case_prod_eq split_rsp ~> case_prod_rsp curry_split ~> curry_case_prod split_curry ~> case_prod_curry Changes in structure HOLogic: split_const ~> case_prod_const mk_split ~> mk_case_prod mk_psplits ~> mk_ptupleabs strip_psplits ~> strip_ptupleabs INCOMPATIBILITY. * The coercions to type 'real' have been reorganised. The function 'real' is no longer overloaded, but has type 'nat => real' and abbreviates of_nat for that type. Also 'real_of_int :: int => real' abbreviates of_int for that type. Other overloaded instances of 'real' have been replaced by 'real_of_ereal' and 'real_of_float'. Consolidated facts (among others): real_of_nat_le_iff -> of_nat_le_iff real_of_nat_numeral of_nat_numeral real_of_int_zero of_int_0 real_of_nat_zero of_nat_0 real_of_one of_int_1 real_of_int_add of_int_add real_of_nat_add of_nat_add real_of_int_diff of_int_diff real_of_nat_diff of_nat_diff floor_subtract floor_diff_of_int real_of_int_inject of_int_eq_iff real_of_int_gt_zero_cancel_iff of_int_0_less_iff real_of_int_ge_zero_cancel_iff of_int_0_le_iff real_of_nat_ge_zero of_nat_0_le_iff real_of_int_ceiling_ge le_of_int_ceiling ceiling_less_eq ceiling_less_iff ceiling_le_eq ceiling_le_iff less_floor_eq less_floor_iff floor_less_eq floor_less_iff floor_divide_eq_div floor_divide_of_int_eq real_of_int_zero_cancel of_nat_eq_0_iff ceiling_real_of_int ceiling_of_int INCOMPATIBILITY. * Theory Map: lemma map_of_is_SomeD was a clone of map_of_SomeD and has been removed. INCOMPATIBILITY. * Quickcheck setup for finite sets. * Discontinued simp_legacy_precond. Potential INCOMPATIBILITY. * Sledgehammer: - The MaSh relevance filter has been sped up. - Proof reconstruction has been improved, to minimize the incidence of cases where Sledgehammer gives a proof that does not work. - Auto Sledgehammer now minimizes and preplays the results. - Handle Vampire 4.0 proof output without raising exception. - Eliminated "MASH" environment variable. Use the "MaSh" option in Isabelle/jEdit instead. INCOMPATIBILITY. - Eliminated obsolete "blocking" option and related subcommands. * Nitpick: - Fixed soundness bug in translation of "finite" predicate. - Fixed soundness bug in "destroy_constrs" optimization. - Fixed soundness bug in translation of "rat" type. - Removed "check_potential" and "check_genuine" options. - Eliminated obsolete "blocking" option. * (Co)datatype package: - New commands "lift_bnf" and "copy_bnf" for lifting (copying) a BNF structure on the raw type to an abstract type defined using typedef. - Always generate "case_transfer" theorem. - For mutual types, generate slightly stronger "rel_induct", "rel_coinduct", and "coinduct" theorems. INCOMPATIBILITY. - Allow discriminators and selectors with the same name as the type being defined. - Avoid various internal name clashes (e.g., 'datatype f = f'). * Transfer: new methods for interactive debugging of 'transfer' and 'transfer_prover': 'transfer_start', 'transfer_step', 'transfer_end', 'transfer_prover_start' and 'transfer_prover_end'. * New diagnostic command print_record for displaying record definitions. * Division on integers is bootstrapped directly from division on naturals and uses generic numeral algorithm for computations. Slight INCOMPATIBILITY, simproc numeral_divmod replaces and generalizes former simprocs binary_int_div and binary_int_mod * Tightened specification of class semiring_no_zero_divisors. Minor INCOMPATIBILITY. * Class algebraic_semidom introduces common algebraic notions of integral (semi)domains, particularly units. Although logically subsumed by fields, is is not a super class of these in order not to burden fields with notions that are trivial there. * Class normalization_semidom specifies canonical representants for equivalence classes of associated elements in an integral (semi)domain. This formalizes associated elements as well. * Abstract specification of gcd/lcm operations in classes semiring_gcd, semiring_Gcd, semiring_Lcd. Minor INCOMPATIBILITY: facts gcd_nat.commute and gcd_int.commute are subsumed by gcd.commute, as well as gcd_nat.assoc and gcd_int.assoc by gcd.assoc. * Former constants Fields.divide (_ / _) and Divides.div (_ div _) are logically unified to Rings.divide in syntactic type class Rings.divide, with infix syntax (_ div _). Infix syntax (_ / _) for field division is added later as abbreviation in class Fields.inverse. INCOMPATIBILITY, instantiations must refer to Rings.divide rather than the former separate constants, hence infix syntax (_ / _) is usually not available during instantiation. * New cancellation simprocs for boolean algebras to cancel complementary terms for sup and inf. For example, "sup x (sup y (- x))" simplifies to "top". INCOMPATIBILITY. * Class uniform_space introduces uniform spaces btw topological spaces and metric spaces. Minor INCOMPATIBILITY: open__def needs to be introduced in the form of an uniformity. Some constants are more general now, it may be necessary to add type class constraints. open_real_def \ open_dist open_complex_def \ open_dist * Library/Monad_Syntax: notation uses symbols \ and \. INCOMPATIBILITY. * Library/Multiset: - Renamed multiset inclusion operators: < ~> <# > ~> ># <= ~> <=# >= ~> >=# \ ~> \# \ ~> \# INCOMPATIBILITY. - Added multiset inclusion operator syntax: \# \# \# \# - "'a multiset" is no longer an instance of the "order", "ordered_ab_semigroup_add_imp_le", "ordered_cancel_comm_monoid_diff", "semilattice_inf", and "semilattice_sup" type classes. The theorems previously provided by these type classes (directly or indirectly) are now available through the "subset_mset" interpretation (e.g. add_mono ~> subset_mset.add_mono). INCOMPATIBILITY. - Renamed conversions: multiset_of ~> mset multiset_of_set ~> mset_set set_of ~> set_mset INCOMPATIBILITY - Renamed lemmas: mset_le_def ~> subseteq_mset_def mset_less_def ~> subset_mset_def less_eq_multiset.rep_eq ~> subseteq_mset_def INCOMPATIBILITY - Removed lemmas generated by lift_definition: less_eq_multiset.abs_eq, less_eq_multiset.rsp, less_eq_multiset.transfer, less_eq_multiset_def INCOMPATIBILITY * Library/Omega_Words_Fun: Infinite words modeled as functions nat \ 'a. * Library/Bourbaki_Witt_Fixpoint: Added formalisation of the Bourbaki-Witt fixpoint theorem for increasing functions in chain-complete partial orders. * Library/Old_Recdef: discontinued obsolete 'defer_recdef' command. Minor INCOMPATIBILITY, use 'function' instead. * Library/Periodic_Fun: a locale that provides convenient lemmas for periodic functions. * Library/Formal_Power_Series: proper definition of division (with remainder) for formal power series; instances for Euclidean Ring and GCD. * HOL-Imperative_HOL: obsolete theory Legacy_Mrec has been removed. * HOL-Statespace: command 'statespace' uses mandatory qualifier for import of parent, as for general 'locale' expressions. INCOMPATIBILITY, remove '!' and add '?' as required. * HOL-Decision_Procs: The "approximation" method works with "powr" (exponentiation on real numbers) again. * HOL-Multivariate_Analysis: theory Cauchy_Integral_Thm with Contour integrals (= complex path integrals), Cauchy's integral theorem, winding numbers and Cauchy's integral formula, Liouville theorem, Fundamental Theorem of Algebra. Ported from HOL Light. * HOL-Multivariate_Analysis: topological concepts such as connected components, homotopic paths and the inside or outside of a set. * HOL-Multivariate_Analysis: radius of convergence of power series and various summability tests; Harmonic numbers and the Euler–Mascheroni constant; the Generalised Binomial Theorem; the complex and real Gamma/log-Gamma/Digamma/ Polygamma functions and their most important properties. * HOL-Probability: The central limit theorem based on Levy's uniqueness and continuity theorems, weak convergence, and characterisitc functions. * HOL-Data_Structures: new and growing session of standard data structures. *** ML *** * The following combinators for low-level profiling of the ML runtime system are available: profile_time (*CPU time*) profile_time_thread (*CPU time on this thread*) profile_allocations (*overall heap allocations*) * Antiquotation @{undefined} or \<^undefined> inlines (raise Match). * Antiquotation @{method NAME} inlines the (checked) name of the given Isar proof method. * Pretty printing of Poly/ML compiler output in Isabelle has been improved: proper treatment of break offsets and blocks with consistent breaks. * The auxiliary module Pure/display.ML has been eliminated. Its elementary thm print operations are now in Pure/more_thm.ML and thus called Thm.pretty_thm, Thm.string_of_thm etc. INCOMPATIBILITY. * Simproc programming interfaces have been simplified: Simplifier.make_simproc and Simplifier.define_simproc supersede various forms of Simplifier.mk_simproc, Simplifier.simproc_global etc. Note that term patterns for the left-hand sides are specified with implicitly fixed variables, like top-level theorem statements. INCOMPATIBILITY. * Instantiation rules have been re-organized as follows: Thm.instantiate (*low-level instantiation with named arguments*) Thm.instantiate' (*version with positional arguments*) Drule.infer_instantiate (*instantiation with type inference*) Drule.infer_instantiate' (*version with positional arguments*) The LHS only requires variable specifications, instead of full terms. Old cterm_instantiate is superseded by infer_instantiate. INCOMPATIBILITY, need to re-adjust some ML names and types accordingly. * Old tactic shorthands atac, rtac, etac, dtac, ftac have been discontinued. INCOMPATIBILITY, use regular assume_tac, resolve_tac etc. instead (with proper context). * Thm.instantiate (and derivatives) no longer require the LHS of the instantiation to be certified: plain variables are given directly. * Subgoal.SUBPROOF and Subgoal.FOCUS combinators use anonymous quasi-bound variables (like the Simplifier), instead of accidentally named local fixes. This has the potential to improve stability of proof tools, but can also cause INCOMPATIBILITY for tools that don't observe the proof context discipline. * Isar proof methods are based on a slightly more general type context_tactic, which allows to change the proof context dynamically (e.g. to update cases) and indicate explicit Seq.Error results. Former METHOD_CASES is superseded by CONTEXT_METHOD; further combinators are provided in src/Pure/Isar/method.ML for convenience. INCOMPATIBILITY. *** System *** * Command-line tool "isabelle console" enables print mode "ASCII". * Command-line tool "isabelle update_then" expands old Isar command conflations: hence ~> then have thus ~> then show This syntax is more orthogonal and improves readability and maintainability of proofs. * Global session timeout is multiplied by timeout_scale factor. This allows to adjust large-scale tests (e.g. AFP) to overall hardware performance. * Property values in etc/symbols may contain spaces, if written with the replacement character "␣" (Unicode point 0x2324). For example: \ code: 0x0022c6 group: operator font: Deja␣Vu␣Sans␣Mono * Java runtime environment for x86_64-windows allows to use larger heap space. * Java runtime options are determined separately for 32bit vs. 64bit platforms as follows. - Isabelle desktop application: platform-specific files that are associated with the main app bundle - isabelle jedit: settings JEDIT_JAVA_SYSTEM_OPTIONS JEDIT_JAVA_OPTIONS32 vs. JEDIT_JAVA_OPTIONS64 - isabelle build: settings ISABELLE_BUILD_JAVA_OPTIONS32 vs. ISABELLE_BUILD_JAVA_OPTIONS64 * Bash shell function "jvmpath" has been renamed to "platform_path": it is relevant both for Poly/ML and JVM processes. * Poly/ML default platform architecture may be changed from 32bit to 64bit via system option ML_system_64. A system restart (and rebuild) is required after change. * Poly/ML 5.6 runs natively on x86-windows and x86_64-windows, which both allow larger heap space than former x86-cygwin. * Heap images are 10-15% smaller due to less wasteful persistent theory content (using ML type theory_id instead of theory); New in Isabelle2015 (May 2015) ------------------------------ *** General *** * Local theory specification commands may have a 'private' or 'qualified' modifier to restrict name space accesses to the local scope, as provided by some "context begin ... end" block. For example: context begin private definition ... private lemma ... qualified definition ... qualified lemma ... lemma ... theorem ... end * Command 'experiment' opens an anonymous locale context with private naming policy. * Command 'notepad' requires proper nesting of begin/end and its proof structure in the body: 'oops' is no longer supported here. Minor INCOMPATIBILITY, use 'sorry' instead. * Command 'named_theorems' declares a dynamic fact within the context, together with an attribute to maintain the content incrementally. This supersedes functor Named_Thms in Isabelle/ML, but with a subtle change of semantics due to external visual order vs. internal reverse order. * 'find_theorems': search patterns which are abstractions are schematically expanded before search. Search results match the naive expectation more closely, particularly wrt. abbreviations. INCOMPATIBILITY. * Commands 'method_setup' and 'attribute_setup' now work within a local theory context. * Outer syntax commands are managed authentically within the theory context, without implicit global state. Potential for accidental INCOMPATIBILITY, make sure that required theories are really imported. * Historical command-line terminator ";" is no longer accepted (and already used differently in Isar). Minor INCOMPATIBILITY, use "isabelle update_semicolons" to remove obsolete semicolons from old theory sources. * Structural composition of proof methods (meth1; meth2) in Isar corresponds to (tac1 THEN_ALL_NEW tac2) in ML. * The Eisbach proof method language allows to define new proof methods by combining existing ones with their usual syntax. The "match" proof method provides basic fact/term matching in addition to premise/conclusion matching through Subgoal.focus, and binds fact names from matches as well as term patterns within matches. The Isabelle documentation provides an entry "eisbach" for the Eisbach User Manual. Sources and various examples are in ~~/src/HOL/Eisbach/. *** Prover IDE -- Isabelle/Scala/jEdit *** * Improved folding mode "isabelle" based on Isar syntax. Alternatively, the "sidekick" mode may be used for document structure. * Extended bracket matching based on Isar language structure. System option jedit_structure_limit determines maximum number of lines to scan in the buffer. * Support for BibTeX files: context menu, context-sensitive token marker, SideKick parser. * Document antiquotation @{cite} provides formal markup, which is interpreted semi-formally based on .bib files that happen to be open in the editor (hyperlinks, completion etc.). * Less waste of vertical space via negative line spacing (see Global Options / Text Area). * Improved graphview panel with optional output of PNG or PDF, for display of 'thy_deps', 'class_deps' etc. * The commands 'thy_deps' and 'class_deps' allow optional bounds to restrict the visualized hierarchy. * Improved scheduling for asynchronous print commands (e.g. provers managed by the Sledgehammer panel) wrt. ongoing document processing. *** Document preparation *** * Document markup commands 'chapter', 'section', 'subsection', 'subsubsection', 'text', 'txt', 'text_raw' work uniformly in any context, even before the initial 'theory' command. Obsolete proof commands 'sect', 'subsect', 'subsubsect', 'txt_raw' have been discontinued, use 'section', 'subsection', 'subsubsection', 'text_raw' instead. The old 'header' command is still retained for some time, but should be replaced by 'chapter', 'section' etc. (using "isabelle update_header"). Minor INCOMPATIBILITY. * Official support for "tt" style variants, via \isatt{...} or \begin{isabellett}...\end{isabellett}. The somewhat fragile \verb or verbatim environment of LaTeX is no longer used. This allows @{ML} etc. as argument to other macros (such as footnotes). * Document antiquotation @{verbatim} prints ASCII text literally in "tt" style. * Discontinued obsolete option "document_graph": session_graph.pdf is produced unconditionally for HTML browser_info and PDF-LaTeX document. * Diagnostic commands and document markup commands within a proof do not affect the command tag for output. Thus commands like 'thm' are subject to proof document structure, and no longer "stick out" accidentally. Commands 'text' and 'txt' merely differ in the LaTeX style, not their tags. Potential INCOMPATIBILITY in exotic situations. * System option "pretty_margin" is superseded by "thy_output_margin", which is also accessible via document antiquotation option "margin". Only the margin for document output may be changed, but not the global pretty printing: that is 76 for plain console output, and adapted dynamically in GUI front-ends. Implementations of document antiquotations need to observe the margin explicitly according to Thy_Output.string_of_margin. Minor INCOMPATIBILITY. * Specification of 'document_files' in the session ROOT file is mandatory for document preparation. The legacy mode with implicit copying of the document/ directory is no longer supported. Minor INCOMPATIBILITY. *** Pure *** * Proof methods with explicit instantiation ("rule_tac", "subgoal_tac" etc.) allow an optional context of local variables ('for' declaration): these variables become schematic in the instantiated theorem; this behaviour is analogous to 'for' in attributes "where" and "of". Configuration option rule_insts_schematic (default false) controls use of schematic variables outside the context. Minor INCOMPATIBILITY, declare rule_insts_schematic = true temporarily and update to use local variable declarations or dummy patterns instead. * Explicit instantiation via attributes "where", "of", and proof methods "rule_tac" with derivatives like "subgoal_tac" etc. admit dummy patterns ("_") that stand for anonymous local variables. * Generated schematic variables in standard format of exported facts are incremented to avoid material in the proof context. Rare INCOMPATIBILITY, explicit instantiation sometimes needs to refer to different index. * Lexical separation of signed and unsigned numerals: categories "num" and "float" are unsigned. INCOMPATIBILITY: subtle change in precedence of numeral signs, particularly in expressions involving infix syntax like "(- 1) ^ n". * Old inner token category "xnum" has been discontinued. Potential INCOMPATIBILITY for exotic syntax: may use mixfix grammar with "num" token category instead. *** HOL *** * New (co)datatype package: - The 'datatype_new' command has been renamed 'datatype'. The old command of that name is now called 'old_datatype' and is provided by "~~/src/HOL/Library/Old_Datatype.thy". See 'isabelle doc datatypes' for information on porting. INCOMPATIBILITY. - Renamed theorems: disc_corec ~> corec_disc disc_corec_iff ~> corec_disc_iff disc_exclude ~> distinct_disc disc_exhaust ~> exhaust_disc disc_map_iff ~> map_disc_iff sel_corec ~> corec_sel sel_exhaust ~> exhaust_sel sel_map ~> map_sel sel_set ~> set_sel sel_split ~> split_sel sel_split_asm ~> split_sel_asm strong_coinduct ~> coinduct_strong weak_case_cong ~> case_cong_weak INCOMPATIBILITY. - The "no_code" option to "free_constructors", "datatype_new", and "codatatype" has been renamed "plugins del: code". INCOMPATIBILITY. - The rules "set_empty" have been removed. They are easy consequences of other set rules "by auto". INCOMPATIBILITY. - The rule "set_cases" is now registered with the "[cases set]" attribute. This can influence the behavior of the "cases" proof method when more than one case rule is applicable (e.g., an assumption is of the form "w : set ws" and the method "cases w" is invoked). The solution is to specify the case rule explicitly (e.g. "cases w rule: widget.exhaust"). INCOMPATIBILITY. - Renamed theories: BNF_Comp ~> BNF_Composition BNF_FP_Base ~> BNF_Fixpoint_Base BNF_GFP ~> BNF_Greatest_Fixpoint BNF_LFP ~> BNF_Least_Fixpoint BNF_Constructions_on_Wellorders ~> BNF_Wellorder_Constructions Cardinals/Constructions_on_Wellorders ~> Cardinals/Wellorder_Constructions INCOMPATIBILITY. - Lifting and Transfer setup for basic HOL types sum and prod (also option) is now performed by the BNF package. Theories Lifting_Sum, Lifting_Product and Lifting_Option from Main became obsolete and were removed. Changed definitions of the relators rel_prod and rel_sum (using inductive). INCOMPATIBILITY: use rel_prod.simps and rel_sum.simps instead of rel_prod_def and rel_sum_def. Minor INCOMPATIBILITY: (rarely used by name) transfer theorem names changed (e.g. map_prod_transfer ~> prod.map_transfer). - Parametricity theorems for map functions, relators, set functions, constructors, case combinators, discriminators, selectors and (co)recursors are automatically proved and registered as transfer rules. * Old datatype package: - The old 'datatype' command has been renamed 'old_datatype', and 'rep_datatype' has been renamed 'old_rep_datatype'. They are provided by "~~/src/HOL/Library/Old_Datatype.thy". See 'isabelle doc datatypes' for information on porting. INCOMPATIBILITY. - Renamed theorems: weak_case_cong ~> case_cong_weak INCOMPATIBILITY. - Renamed theory: ~~/src/HOL/Datatype.thy ~> ~~/src/HOL/Library/Old_Datatype.thy INCOMPATIBILITY. * Nitpick: - Fixed soundness bug related to the strict and non-strict subset operations. * Sledgehammer: - CVC4 is now included with Isabelle instead of CVC3 and run by default. - Z3 is now always enabled by default, now that it is fully open source. The "z3_non_commercial" option is discontinued. - Minimization is now always enabled by default. Removed sub-command: min - Proof reconstruction, both one-liners and Isar, has been dramatically improved. - Improved support for CVC4 and veriT. * Old and new SMT modules: - The old 'smt' method has been renamed 'old_smt' and moved to 'src/HOL/Library/Old_SMT.thy'. It is provided for compatibility, until applications have been ported to use the new 'smt' method. For the method to work, an older version of Z3 (e.g. Z3 3.2 or 4.0) must be installed, and the environment variable "OLD_Z3_SOLVER" must point to it. INCOMPATIBILITY. - The 'smt2' method has been renamed 'smt'. INCOMPATIBILITY. - New option 'smt_reconstruction_step_timeout' to limit the reconstruction time of Z3 proof steps in the new 'smt' method. - New option 'smt_statistics' to display statistics of the new 'smt' method, especially runtime statistics of Z3 proof reconstruction. * Lifting: command 'lift_definition' allows to execute lifted constants that have as a return type a datatype containing a subtype. This overcomes long-time limitations in the area of code generation and lifting, and avoids tedious workarounds. * Command and antiquotation "value" provide different evaluation slots (again), where the previous strategy (NBE after ML) serves as default. Minor INCOMPATIBILITY. * Add NO_MATCH-simproc, allows to check for syntactic non-equality. * field_simps: Use NO_MATCH-simproc for distribution rules, to avoid non-termination in case of distributing a division. With this change field_simps is in some cases slightly less powerful, if it fails try to add algebra_simps, or use divide_simps. Minor INCOMPATIBILITY. * Separate class no_zero_divisors has been given up in favour of fully algebraic semiring_no_zero_divisors. INCOMPATIBILITY. * Class linordered_semidom really requires no zero divisors. INCOMPATIBILITY. * Classes division_ring, field and linordered_field always demand "inverse 0 = 0". Given up separate classes division_ring_inverse_zero, field_inverse_zero and linordered_field_inverse_zero. INCOMPATIBILITY. * Classes cancel_ab_semigroup_add / cancel_monoid_add specify explicit additive inverse operation. INCOMPATIBILITY. * Complex powers and square roots. The functions "ln" and "powr" are now overloaded for types real and complex, and 0 powr y = 0 by definition. INCOMPATIBILITY: type constraints may be necessary. * The functions "sin" and "cos" are now defined for any type of sort "{real_normed_algebra_1,banach}" type, so in particular on "real" and "complex" uniformly. Minor INCOMPATIBILITY: type constraints may be needed. * New library of properties of the complex transcendental functions sin, cos, tan, exp, Ln, Arctan, Arcsin, Arccos. Ported from HOL Light. * The factorial function, "fact", now has type "nat => 'a" (of a sort that admits numeric types including nat, int, real and complex. INCOMPATIBILITY: an expression such as "fact 3 = 6" may require a type constraint, and the combination "real (fact k)" is likely to be unsatisfactory. If a type conversion is still necessary, then use "of_nat (fact k)" or "real_of_nat (fact k)". * Removed functions "natfloor" and "natceiling", use "nat o floor" and "nat o ceiling" instead. A few of the lemmas have been retained and adapted: in their names "natfloor"/"natceiling" has been replaced by "nat_floor"/"nat_ceiling". * Qualified some duplicated fact names required for boostrapping the type class hierarchy: ab_add_uminus_conv_diff ~> diff_conv_add_uminus field_inverse_zero ~> inverse_zero field_divide_inverse ~> divide_inverse field_inverse ~> left_inverse Minor INCOMPATIBILITY. * Eliminated fact duplicates: mult_less_imp_less_right ~> mult_right_less_imp_less mult_less_imp_less_left ~> mult_left_less_imp_less Minor INCOMPATIBILITY. * Fact consolidation: even_less_0_iff is subsumed by double_add_less_zero_iff_single_add_less_zero (simp by default anyway). * Generalized and consolidated some theorems concerning divsibility: dvd_reduce ~> dvd_add_triv_right_iff dvd_plus_eq_right ~> dvd_add_right_iff dvd_plus_eq_left ~> dvd_add_left_iff Minor INCOMPATIBILITY. * "even" and "odd" are mere abbreviations for "2 dvd _" and "~ 2 dvd _" and part of theory Main. even_def ~> even_iff_mod_2_eq_zero INCOMPATIBILITY. * Lemma name consolidation: divide_Numeral1 ~> divide_numeral_1. Minor INCOMPATIBILITY. * Bootstrap of listsum as special case of abstract product over lists. Fact rename: listsum_def ~> listsum.eq_foldr INCOMPATIBILITY. * Product over lists via constant "listprod". * Theory List: renamed drop_Suc_conv_tl and nth_drop' to Cons_nth_drop_Suc. * New infrastructure for compiling, running, evaluating and testing generated code in target languages in HOL/Library/Code_Test. See HOL/Codegenerator_Test/Code_Test* for examples. * Library/Multiset: - Introduced "replicate_mset" operation. - Introduced alternative characterizations of the multiset ordering in "Library/Multiset_Order". - Renamed multiset ordering: <# ~> #<# <=# ~> #<=# \# ~> #\# \# ~> #\# INCOMPATIBILITY. - Introduced abbreviations for ill-named multiset operations: <#, \# abbreviate < (strict subset) <=#, \#, \# abbreviate <= (subset or equal) INCOMPATIBILITY. - Renamed in_multiset_of ~> in_multiset_in_set Multiset.fold ~> fold_mset Multiset.filter ~> filter_mset INCOMPATIBILITY. - Removed mcard, is equal to size. - Added attributes: image_mset.id [simp] image_mset_id [simp] elem_multiset_of_set [simp, intro] comp_fun_commute_plus_mset [simp] comp_fun_commute.fold_mset_insert [OF comp_fun_commute_plus_mset, simp] in_mset_fold_plus_iff [iff] set_of_Union_mset [simp] in_Union_mset_iff [iff] INCOMPATIBILITY. * Library/Sum_of_Squares: simplified and improved "sos" method. Always use local CSDP executable, which is much faster than the NEOS server. The "sos_cert" functionality is invoked as "sos" with additional argument. Minor INCOMPATIBILITY. * HOL-Decision_Procs: New counterexample generator quickcheck [approximation] for inequalities of transcendental functions. Uses hardware floating point arithmetic to randomly discover potential counterexamples. Counterexamples are certified with the "approximation" method. See HOL/Decision_Procs/ex/Approximation_Quickcheck_Ex.thy for examples. * HOL-Probability: Reworked measurability prover - applies destructor rules repeatedly - removed application splitting (replaced by destructor rule) - added congruence rules to rewrite measure spaces under the sets projection * New proof method "rewrite" (in theory ~~/src/HOL/Library/Rewrite) for single-step rewriting with subterm selection based on patterns. *** ML *** * Subtle change of name space policy: undeclared entries are now considered inaccessible, instead of accessible via the fully-qualified internal name. This mainly affects Name_Space.intern (and derivatives), which may produce an unexpected Long_Name.hidden prefix. Note that contemporary applications use the strict Name_Space.check (and derivatives) instead, which is not affected by the change. Potential INCOMPATIBILITY in rare applications of Name_Space.intern. * Subtle change of error semantics of Toplevel.proof_of: regular user ERROR instead of internal Toplevel.UNDEF. * Basic combinators map, fold, fold_map, split_list, apply are available as parameterized antiquotations, e.g. @{map 4} for lists of quadruples. * Renamed "pairself" to "apply2", in accordance to @{apply 2}. INCOMPATIBILITY. * Former combinators NAMED_CRITICAL and CRITICAL for central critical sections have been discontinued, in favour of the more elementary Multithreading.synchronized and its high-level derivative Synchronized.var (which is usually sufficient in applications). Subtle INCOMPATIBILITY: synchronized access needs to be atomic and cannot be nested. * Synchronized.value (ML) is actually synchronized (as in Scala): subtle change of semantics with minimal potential for INCOMPATIBILITY. * The main operations to certify logical entities are Thm.ctyp_of and Thm.cterm_of with a local context; old-style global theory variants are available as Thm.global_ctyp_of and Thm.global_cterm_of. INCOMPATIBILITY. * Elementary operations in module Thm are no longer pervasive. INCOMPATIBILITY, need to use qualified Thm.prop_of, Thm.cterm_of, Thm.term_of etc. * Proper context for various elementary tactics: assume_tac, resolve_tac, eresolve_tac, dresolve_tac, forward_tac, match_tac, compose_tac, Splitter.split_tac etc. INCOMPATIBILITY. * Tactical PARALLEL_ALLGOALS is the most common way to refer to PARALLEL_GOALS. * Goal.prove_multi is superseded by the fully general Goal.prove_common, which also allows to specify a fork priority. * Antiquotation @{command_spec "COMMAND"} is superseded by @{command_keyword COMMAND} (usually without quotes and with PIDE markup). Minor INCOMPATIBILITY. * Cartouches within ML sources are turned into values of type Input.source (with formal position information). *** System *** * The Isabelle tool "update_cartouches" changes theory files to use cartouches instead of old-style {* verbatim *} or `alt_string` tokens. * The Isabelle tool "build" provides new options -X, -k, -x. * Discontinued old-fashioned "codegen" tool. Code generation can always be externally triggered using an appropriate ROOT file plus a corresponding theory. Parametrization is possible using environment variables, or ML snippets in the most extreme cases. Minor INCOMPATIBILITY. * JVM system property "isabelle.threads" determines size of Scala thread pool, like Isabelle system option "threads" for ML. * JVM system property "isabelle.laf" determines the default Swing look-and-feel, via internal class name or symbolic name as in the jEdit menu Global Options / Appearance. * Support for Proof General and Isar TTY loop has been discontinued. Minor INCOMPATIBILITY, use standard PIDE infrastructure instead. New in Isabelle2014 (August 2014) --------------------------------- *** General *** * Support for official Standard ML within the Isabelle context. Command 'SML_file' reads and evaluates the given Standard ML file. Toplevel bindings are stored within the theory context; the initial environment is restricted to the Standard ML implementation of Poly/ML, without the add-ons of Isabelle/ML. Commands 'SML_import' and 'SML_export' allow to exchange toplevel bindings between the two separate environments. See also ~~/src/Tools/SML/Examples.thy for some examples. * Standard tactics and proof methods such as "clarsimp", "auto" and "safe" now preserve equality hypotheses "x = expr" where x is a free variable. Locale assumptions and chained facts containing "x" continue to be useful. The new method "hypsubst_thin" and the configuration option "hypsubst_thin" (within the attribute name space) restore the previous behavior. INCOMPATIBILITY, especially where induction is done after these methods or when the names of free and bound variables clash. As first approximation, old proofs may be repaired by "using [[hypsubst_thin = true]]" in the critical spot. * More static checking of proof methods, which allows the system to form a closure over the concrete syntax. Method arguments should be processed in the original proof context as far as possible, before operating on the goal state. In any case, the standard discipline for subgoal-addressing needs to be observed: no subgoals or a subgoal number that is out of range produces an empty result sequence, not an exception. Potential INCOMPATIBILITY for non-conformant tactical proof tools. * Lexical syntax (inner and outer) supports text cartouches with arbitrary nesting, and without escapes of quotes etc. The Prover IDE supports input via ` (backquote). * The outer syntax categories "text" (for formal comments and document markup commands) and "altstring" (for literal fact references) allow cartouches as well, in addition to the traditional mix of quotations. * Syntax of document antiquotation @{rail} now uses \ instead of "\\", to avoid the optical illusion of escaped backslash within string token. General renovation of its syntax using text cartouches. Minor INCOMPATIBILITY. * Discontinued legacy_isub_isup, which was a temporary workaround for Isabelle/ML in Isabelle2013-1. The prover process no longer accepts old identifier syntax with \<^isub> or \<^isup>. Potential INCOMPATIBILITY. * Document antiquotation @{url} produces markup for the given URL, which results in an active hyperlink within the text. * Document antiquotation @{file_unchecked} is like @{file}, but does not check existence within the file-system. * Updated and extended manuals: codegen, datatypes, implementation, isar-ref, jedit, system. *** Prover IDE -- Isabelle/Scala/jEdit *** * Improved Document panel: simplified interaction where every single mouse click (re)opens document via desktop environment or as jEdit buffer. * Support for Navigator plugin (with toolbar buttons), with connection to PIDE hyperlinks. * Auxiliary files ('ML_file' etc.) are managed by the Prover IDE. Open text buffers take precedence over copies within the file-system. * Improved support for Isabelle/ML, with jEdit mode "isabelle-ml" for auxiliary ML files. * Improved syntactic and semantic completion mechanism, with simple templates, completion language context, name-space completion, file-name completion, spell-checker completion. * Refined GUI popup for completion: more robust key/mouse event handling and propagation to enclosing text area -- avoid loosing keystrokes with slow / remote graphics displays. * Completion popup supports both ENTER and TAB (default) to select an item, depending on Isabelle options. * Refined insertion of completion items wrt. jEdit text: multiple selections, rectangular selections, rectangular selection as "tall caret". * Integrated spell-checker for document text, comments etc. with completion popup and context-menu. * More general "Query" panel supersedes "Find" panel, with GUI access to commands 'find_theorems' and 'find_consts', as well as print operations for the context. Minor incompatibility in keyboard shortcuts etc.: replace action isabelle-find by isabelle-query. * Search field for all output panels ("Output", "Query", "Info" etc.) to highlight text via regular expression. * Option "jedit_print_mode" (see also "Plugin Options / Isabelle / General") allows to specify additional print modes for the prover process, without requiring old-fashioned command-line invocation of "isabelle jedit -m MODE". * More support for remote files (e.g. http) using standard Java networking operations instead of jEdit virtual file-systems. * Empty editors buffers that are no longer required (e.g.\ via theory imports) are automatically removed from the document model. * Improved monitor panel. * Improved Console/Scala plugin: more uniform scala.Console output, more robust treatment of threads and interrupts. * Improved management of dockable windows: clarified keyboard focus and window placement wrt. main editor view; optional menu item to "Detach" a copy where this makes sense. * New Simplifier Trace panel provides an interactive view of the simplification process, enabled by the "simp_trace_new" attribute within the context. *** Pure *** * Low-level type-class commands 'classes', 'classrel', 'arities' have been discontinued to avoid the danger of non-trivial axiomatization that is not immediately visible. INCOMPATIBILITY, use regular 'instance' command with proof. The required OFCLASS(...) theorem might be postulated via 'axiomatization' beforehand, or the proof finished trivially if the underlying class definition is made vacuous (without any assumptions). See also Isabelle/ML operations Axclass.class_axiomatization, Axclass.classrel_axiomatization, Axclass.arity_axiomatization. * Basic constants of Pure use more conventional names and are always qualified. Rare INCOMPATIBILITY, but with potentially serious consequences, notably for tools in Isabelle/ML. The following renaming needs to be applied: == ~> Pure.eq ==> ~> Pure.imp all ~> Pure.all TYPE ~> Pure.type dummy_pattern ~> Pure.dummy_pattern Systematic porting works by using the following theory setup on a *previous* Isabelle version to introduce the new name accesses for the old constants: setup {* fn thy => thy |> Sign.root_path |> Sign.const_alias (Binding.qualify true "Pure" @{binding eq}) "==" |> Sign.const_alias (Binding.qualify true "Pure" @{binding imp}) "==>" |> Sign.const_alias (Binding.qualify true "Pure" @{binding all}) "all" |> Sign.restore_naming thy *} Thus ML antiquotations like @{const_name Pure.eq} may be used already. Later the application is moved to the current Isabelle version, and the auxiliary aliases are deleted. * Attributes "where" and "of" allow an optional context of local variables ('for' declaration): these variables become schematic in the instantiated theorem. * Obsolete attribute "standard" has been discontinued (legacy since Isabelle2012). Potential INCOMPATIBILITY, use explicit 'for' context where instantiations with schematic variables are intended (for declaration commands like 'lemmas' or attributes like "of"). The following temporary definition may help to port old applications: attribute_setup standard = "Scan.succeed (Thm.rule_attribute (K Drule.export_without_context))" * More thorough check of proof context for goal statements and attributed fact expressions (concerning background theory, declared hyps). Potential INCOMPATIBILITY, tools need to observe standard context discipline. See also Assumption.add_assumes and the more primitive Thm.assume_hyps. * Inner syntax token language allows regular quoted strings "..." (only makes sense in practice, if outer syntax is delimited differently, e.g. via cartouches). * Command 'print_term_bindings' supersedes 'print_binds' for clarity, but the latter is retained some time as Proof General legacy. * Code generator preprocessor: explicit control of simp tracing on a per-constant basis. See attribute "code_preproc". *** HOL *** * Code generator: enforce case of identifiers only for strict target language requirements. INCOMPATIBILITY. * Code generator: explicit proof contexts in many ML interfaces. INCOMPATIBILITY. * Code generator: minimize exported identifiers by default. Minor INCOMPATIBILITY. * Code generation for SML and OCaml: dropped arcane "no_signatures" option. Minor INCOMPATIBILITY. * "declare [[code abort: ...]]" replaces "code_abort ...". INCOMPATIBILITY. * "declare [[code drop: ...]]" drops all code equations associated with the given constants. * Code generations are provided for make, fields, extend and truncate operations on records. * Command and antiquotation "value" are now hardcoded against nbe and ML. Minor INCOMPATIBILITY. * Renamed command 'enriched_type' to 'functor'. INCOMPATIBILITY. * The symbol "\" may be used within char or string literals to represent (Char Nibble0 NibbleA), i.e. ASCII newline. * Qualified String.implode and String.explode. INCOMPATIBILITY. * Simplifier: Enhanced solver of preconditions of rewrite rules can now deal with conjunctions. For help with converting proofs, the old behaviour of the simplifier can be restored like this: declare/using [[simp_legacy_precond]]. This configuration option will disappear again in the future. INCOMPATIBILITY. * Simproc "finite_Collect" is no longer enabled by default, due to spurious crashes and other surprises. Potential INCOMPATIBILITY. * Moved new (co)datatype package and its dependencies from session "HOL-BNF" to "HOL". The commands 'bnf', 'wrap_free_constructors', 'datatype_new', 'codatatype', 'primcorec', 'primcorecursive' are now part of theory "Main". Theory renamings: FunDef.thy ~> Fun_Def.thy (and Fun_Def_Base.thy) Library/Wfrec.thy ~> Wfrec.thy Library/Zorn.thy ~> Zorn.thy Cardinals/Order_Relation.thy ~> Order_Relation.thy Library/Order_Union.thy ~> Cardinals/Order_Union.thy Cardinals/Cardinal_Arithmetic_Base.thy ~> BNF_Cardinal_Arithmetic.thy Cardinals/Cardinal_Order_Relation_Base.thy ~> BNF_Cardinal_Order_Relation.thy Cardinals/Constructions_on_Wellorders_Base.thy ~> BNF_Constructions_on_Wellorders.thy Cardinals/Wellorder_Embedding_Base.thy ~> BNF_Wellorder_Embedding.thy Cardinals/Wellorder_Relation_Base.thy ~> BNF_Wellorder_Relation.thy BNF/Ctr_Sugar.thy ~> Ctr_Sugar.thy BNF/Basic_BNFs.thy ~> Basic_BNFs.thy BNF/BNF_Comp.thy ~> BNF_Comp.thy BNF/BNF_Def.thy ~> BNF_Def.thy BNF/BNF_FP_Base.thy ~> BNF_FP_Base.thy BNF/BNF_GFP.thy ~> BNF_GFP.thy BNF/BNF_LFP.thy ~> BNF_LFP.thy BNF/BNF_Util.thy ~> BNF_Util.thy BNF/Coinduction.thy ~> Coinduction.thy BNF/More_BNFs.thy ~> Library/More_BNFs.thy BNF/Countable_Type.thy ~> Library/Countable_Set_Type.thy BNF/Examples/* ~> BNF_Examples/* New theories: Wellorder_Extension.thy (split from Zorn.thy) Library/Cardinal_Notations.thy Library/BNF_Axomatization.thy BNF_Examples/Misc_Primcorec.thy BNF_Examples/Stream_Processor.thy Discontinued theories: BNF/BNF.thy BNF/Equiv_Relations_More.thy INCOMPATIBILITY. * New (co)datatype package: - Command 'primcorec' is fully implemented. - Command 'datatype_new' generates size functions ("size_xxx" and "size") as required by 'fun'. - BNFs are integrated with the Lifting tool and new-style (co)datatypes with Transfer. - Renamed commands: datatype_new_compat ~> datatype_compat primrec_new ~> primrec wrap_free_constructors ~> free_constructors INCOMPATIBILITY. - The generated constants "xxx_case" and "xxx_rec" have been renamed "case_xxx" and "rec_xxx" (e.g., "prod_case" ~> "case_prod"). INCOMPATIBILITY. - The constant "xxx_(un)fold" and related theorems are no longer generated. Use "xxx_(co)rec" or define "xxx_(un)fold" manually using "prim(co)rec". INCOMPATIBILITY. - No discriminators are generated for nullary constructors by default, eliminating the need for the odd "=:" syntax. INCOMPATIBILITY. - No discriminators or selectors are generated by default by "datatype_new", unless custom names are specified or the new "discs_sels" option is passed. INCOMPATIBILITY. * Old datatype package: - The generated theorems "xxx.cases" and "xxx.recs" have been renamed "xxx.case" and "xxx.rec" (e.g., "sum.cases" -> "sum.case"). INCOMPATIBILITY. - The generated constants "xxx_case", "xxx_rec", and "xxx_size" have been renamed "case_xxx", "rec_xxx", and "size_xxx" (e.g., "prod_case" ~> "case_prod"). INCOMPATIBILITY. * The types "'a list" and "'a option", their set and map functions, their relators, and their selectors are now produced using the new BNF-based datatype package. Renamed constants: Option.set ~> set_option Option.map ~> map_option option_rel ~> rel_option Renamed theorems: set_def ~> set_rec[abs_def] map_def ~> map_rec[abs_def] Option.map_def ~> map_option_case[abs_def] (with "case_option" instead of "rec_option") option.recs ~> option.rec list_all2_def ~> list_all2_iff set.simps ~> set_simps (or the slightly different "list.set") map.simps ~> list.map hd.simps ~> list.sel(1) tl.simps ~> list.sel(2-3) the.simps ~> option.sel INCOMPATIBILITY. * The following map functions and relators have been renamed: sum_map ~> map_sum map_pair ~> map_prod prod_rel ~> rel_prod sum_rel ~> rel_sum fun_rel ~> rel_fun set_rel ~> rel_set filter_rel ~> rel_filter fset_rel ~> rel_fset (in "src/HOL/Library/FSet.thy") cset_rel ~> rel_cset (in "src/HOL/Library/Countable_Set_Type.thy") vset ~> rel_vset (in "src/HOL/Library/Quotient_Set.thy") INCOMPATIBILITY. * Lifting and Transfer: - a type variable as a raw type is supported - stronger reflexivity prover - rep_eq is always generated by lift_definition - setup for Lifting/Transfer is now automated for BNFs + holds for BNFs that do not contain a dead variable + relator_eq, relator_mono, relator_distr, relator_domain, relator_eq_onp, quot_map, transfer rules for bi_unique, bi_total, right_unique, right_total, left_unique, left_total are proved automatically + definition of a predicator is generated automatically + simplification rules for a predicator definition are proved automatically for datatypes - consolidation of the setup of Lifting/Transfer + property that a relator preservers reflexivity is not needed any more Minor INCOMPATIBILITY. + left_total and left_unique rules are now transfer rules (reflexivity_rule attribute not needed anymore) INCOMPATIBILITY. + Domainp does not have to be a separate assumption in relator_domain theorems (=> more natural statement) INCOMPATIBILITY. - registration of code equations is more robust Potential INCOMPATIBILITY. - respectfulness proof obligation is preprocessed to a more readable form Potential INCOMPATIBILITY. - eq_onp is always unfolded in respectfulness proof obligation Potential INCOMPATIBILITY. - unregister lifting setup for Code_Numeral.integer and Code_Numeral.natural Potential INCOMPATIBILITY. - Lifting.invariant -> eq_onp INCOMPATIBILITY. * New internal SAT solver "cdclite" that produces models and proof traces. This solver replaces the internal SAT solvers "enumerate" and "dpll". Applications that explicitly used one of these two SAT solvers should use "cdclite" instead. In addition, "cdclite" is now the default SAT solver for the "sat" and "satx" proof methods and corresponding tactics; the old default can be restored using "declare [[sat_solver = zchaff_with_proofs]]". Minor INCOMPATIBILITY. * SMT module: A new version of the SMT module, temporarily called "SMT2", uses SMT-LIB 2 and supports recent versions of Z3 (e.g., 4.3). The new proof method is called "smt2". CVC3 and CVC4 are also supported as oracles. Yices is no longer supported, because no version of the solver can handle both SMT-LIB 2 and quantifiers. * Activation of Z3 now works via "z3_non_commercial" system option (without requiring restart), instead of former settings variable "Z3_NON_COMMERCIAL". The option can be edited in Isabelle/jEdit menu Plugin Options / Isabelle / General. * Sledgehammer: - Z3 can now produce Isar proofs. - MaSh overhaul: . New SML-based learning algorithms eliminate the dependency on Python and increase performance and reliability. . MaSh and MeSh are now used by default together with the traditional MePo (Meng-Paulson) relevance filter. To disable MaSh, set the "MaSh" system option in Isabelle/jEdit Plugin Options / Isabelle / General to "none". - New option: smt_proofs - Renamed options: isar_compress ~> compress isar_try0 ~> try0 INCOMPATIBILITY. * Removed solvers remote_cvc3 and remote_z3. Use cvc3 and z3 instead. * Nitpick: - Fixed soundness bug whereby mutually recursive datatypes could take infinite values. - Fixed soundness bug with low-level number functions such as "Abs_Integ" and "Rep_Integ". - Removed "std" option. - Renamed "show_datatypes" to "show_types" and "hide_datatypes" to "hide_types". * Metis: Removed legacy proof method 'metisFT'. Use 'metis (full_types)' instead. INCOMPATIBILITY. * Try0: Added 'algebra' and 'meson' to the set of proof methods. * Adjustion of INF and SUP operations: - Elongated constants INFI and SUPR to INFIMUM and SUPREMUM. - Consolidated theorem names containing INFI and SUPR: have INF and SUP instead uniformly. - More aggressive normalization of expressions involving INF and Inf or SUP and Sup. - INF_image and SUP_image do not unfold composition. - Dropped facts INF_comp, SUP_comp. - Default congruence rules strong_INF_cong and strong_SUP_cong, with simplifier implication in premises. Generalize and replace former INT_cong, SUP_cong INCOMPATIBILITY. * SUP and INF generalized to conditionally_complete_lattice. * Swapped orientation of facts image_comp and vimage_comp: image_compose ~> image_comp [symmetric] image_comp ~> image_comp [symmetric] vimage_compose ~> vimage_comp [symmetric] vimage_comp ~> vimage_comp [symmetric] INCOMPATIBILITY. * Theory reorganization: split of Big_Operators.thy into Groups_Big.thy and Lattices_Big.thy. * Consolidated some facts about big group operators: setsum_0' ~> setsum.neutral setsum_0 ~> setsum.neutral_const setsum_addf ~> setsum.distrib setsum_cartesian_product ~> setsum.cartesian_product setsum_cases ~> setsum.If_cases setsum_commute ~> setsum.commute setsum_cong ~> setsum.cong setsum_delta ~> setsum.delta setsum_delta' ~> setsum.delta' setsum_diff1' ~> setsum.remove setsum_empty ~> setsum.empty setsum_infinite ~> setsum.infinite setsum_insert ~> setsum.insert setsum_inter_restrict'' ~> setsum.inter_filter setsum_mono_zero_cong_left ~> setsum.mono_neutral_cong_left setsum_mono_zero_cong_right ~> setsum.mono_neutral_cong_right setsum_mono_zero_left ~> setsum.mono_neutral_left setsum_mono_zero_right ~> setsum.mono_neutral_right setsum_reindex ~> setsum.reindex setsum_reindex_cong ~> setsum.reindex_cong setsum_reindex_nonzero ~> setsum.reindex_nontrivial setsum_restrict_set ~> setsum.inter_restrict setsum_Plus ~> setsum.Plus setsum_setsum_restrict ~> setsum.commute_restrict setsum_Sigma ~> setsum.Sigma setsum_subset_diff ~> setsum.subset_diff setsum_Un_disjoint ~> setsum.union_disjoint setsum_UN_disjoint ~> setsum.UNION_disjoint setsum_Un_Int ~> setsum.union_inter setsum_Union_disjoint ~> setsum.Union_disjoint setsum_UNION_zero ~> setsum.Union_comp setsum_Un_zero ~> setsum.union_inter_neutral strong_setprod_cong ~> setprod.strong_cong strong_setsum_cong ~> setsum.strong_cong setprod_1' ~> setprod.neutral setprod_1 ~> setprod.neutral_const setprod_cartesian_product ~> setprod.cartesian_product setprod_cong ~> setprod.cong setprod_delta ~> setprod.delta setprod_delta' ~> setprod.delta' setprod_empty ~> setprod.empty setprod_infinite ~> setprod.infinite setprod_insert ~> setprod.insert setprod_mono_one_cong_left ~> setprod.mono_neutral_cong_left setprod_mono_one_cong_right ~> setprod.mono_neutral_cong_right setprod_mono_one_left ~> setprod.mono_neutral_left setprod_mono_one_right ~> setprod.mono_neutral_right setprod_reindex ~> setprod.reindex setprod_reindex_cong ~> setprod.reindex_cong setprod_reindex_nonzero ~> setprod.reindex_nontrivial setprod_Sigma ~> setprod.Sigma setprod_subset_diff ~> setprod.subset_diff setprod_timesf ~> setprod.distrib setprod_Un2 ~> setprod.union_diff2 setprod_Un_disjoint ~> setprod.union_disjoint setprod_UN_disjoint ~> setprod.UNION_disjoint setprod_Un_Int ~> setprod.union_inter setprod_Union_disjoint ~> setprod.Union_disjoint setprod_Un_one ~> setprod.union_inter_neutral Dropped setsum_cong2 (simple variant of setsum.cong). Dropped setsum_inter_restrict' (simple variant of setsum.inter_restrict) Dropped setsum_reindex_id, setprod_reindex_id (simple variants of setsum.reindex [symmetric], setprod.reindex [symmetric]). INCOMPATIBILITY. * Abolished slightly odd global lattice interpretation for min/max. Fact consolidations: min_max.inf_assoc ~> min.assoc min_max.inf_commute ~> min.commute min_max.inf_left_commute ~> min.left_commute min_max.inf_idem ~> min.idem min_max.inf_left_idem ~> min.left_idem min_max.inf_right_idem ~> min.right_idem min_max.sup_assoc ~> max.assoc min_max.sup_commute ~> max.commute min_max.sup_left_commute ~> max.left_commute min_max.sup_idem ~> max.idem min_max.sup_left_idem ~> max.left_idem min_max.sup_inf_distrib1 ~> max_min_distrib2 min_max.sup_inf_distrib2 ~> max_min_distrib1 min_max.inf_sup_distrib1 ~> min_max_distrib2 min_max.inf_sup_distrib2 ~> min_max_distrib1 min_max.distrib ~> min_max_distribs min_max.inf_absorb1 ~> min.absorb1 min_max.inf_absorb2 ~> min.absorb2 min_max.sup_absorb1 ~> max.absorb1 min_max.sup_absorb2 ~> max.absorb2 min_max.le_iff_inf ~> min.absorb_iff1 min_max.le_iff_sup ~> max.absorb_iff2 min_max.inf_le1 ~> min.cobounded1 min_max.inf_le2 ~> min.cobounded2 le_maxI1, min_max.sup_ge1 ~> max.cobounded1 le_maxI2, min_max.sup_ge2 ~> max.cobounded2 min_max.le_infI1 ~> min.coboundedI1 min_max.le_infI2 ~> min.coboundedI2 min_max.le_supI1 ~> max.coboundedI1 min_max.le_supI2 ~> max.coboundedI2 min_max.less_infI1 ~> min.strict_coboundedI1 min_max.less_infI2 ~> min.strict_coboundedI2 min_max.less_supI1 ~> max.strict_coboundedI1 min_max.less_supI2 ~> max.strict_coboundedI2 min_max.inf_mono ~> min.mono min_max.sup_mono ~> max.mono min_max.le_infI, min_max.inf_greatest ~> min.boundedI min_max.le_supI, min_max.sup_least ~> max.boundedI min_max.le_inf_iff ~> min.bounded_iff min_max.le_sup_iff ~> max.bounded_iff For min_max.inf_sup_aci, prefer (one of) min.commute, min.assoc, min.left_commute, min.left_idem, max.commute, max.assoc, max.left_commute, max.left_idem directly. For min_max.inf_sup_ord, prefer (one of) min.cobounded1, min.cobounded2, max.cobounded1m max.cobounded2 directly. For min_ac or max_ac, prefer more general collection ac_simps. INCOMPATIBILITY. * Theorem disambiguation Inf_le_Sup (on finite sets) ~> Inf_fin_le_Sup_fin. INCOMPATIBILITY. * Qualified constant names Wellfounded.acc, Wellfounded.accp. INCOMPATIBILITY. * Fact generalization and consolidation: neq_one_mod_two, mod_2_not_eq_zero_eq_one_int ~> not_mod_2_eq_0_eq_1 INCOMPATIBILITY. * Purely algebraic definition of even. Fact generalization and consolidation: nat_even_iff_2_dvd, int_even_iff_2_dvd ~> even_iff_2_dvd even_zero_(nat|int) ~> even_zero INCOMPATIBILITY. * Abolished neg_numeral. - Canonical representation for minus one is "- 1". - Canonical representation for other negative numbers is "- (numeral _)". - When devising rule sets for number calculation, consider the following canonical cases: 0, 1, numeral _, - 1, - numeral _. - HOLogic.dest_number also recognizes numerals in non-canonical forms like "numeral One", "- numeral One", "- 0" and even "- ... - _". - Syntax for negative numerals is mere input syntax. INCOMPATIBILITY. * Reduced name variants for rules on associativity and commutativity: add_assoc ~> add.assoc add_commute ~> add.commute add_left_commute ~> add.left_commute mult_assoc ~> mult.assoc mult_commute ~> mult.commute mult_left_commute ~> mult.left_commute nat_add_assoc ~> add.assoc nat_add_commute ~> add.commute nat_add_left_commute ~> add.left_commute nat_mult_assoc ~> mult.assoc nat_mult_commute ~> mult.commute eq_assoc ~> iff_assoc eq_left_commute ~> iff_left_commute INCOMPATIBILITY. * Fact collections add_ac and mult_ac are considered old-fashioned. Prefer ac_simps instead, or specify rules (add|mult).(assoc|commute|left_commute) individually. * Elimination of fact duplicates: equals_zero_I ~> minus_unique diff_eq_0_iff_eq ~> right_minus_eq nat_infinite ~> infinite_UNIV_nat int_infinite ~> infinite_UNIV_int INCOMPATIBILITY. * Fact name consolidation: diff_def, diff_minus, ab_diff_minus ~> diff_conv_add_uminus minus_le_self_iff ~> neg_less_eq_nonneg le_minus_self_iff ~> less_eq_neg_nonpos neg_less_nonneg ~> neg_less_pos less_minus_self_iff ~> less_neg_neg [simp] INCOMPATIBILITY. * More simplification rules on unary and binary minus: add_diff_cancel, add_diff_cancel_left, add_le_same_cancel1, add_le_same_cancel2, add_less_same_cancel1, add_less_same_cancel2, add_minus_cancel, diff_add_cancel, le_add_same_cancel1, le_add_same_cancel2, less_add_same_cancel1, less_add_same_cancel2, minus_add_cancel, uminus_add_conv_diff. These correspondingly have been taken away from fact collections algebra_simps and field_simps. INCOMPATIBILITY. To restore proofs, the following patterns are helpful: a) Arbitrary failing proof not involving "diff_def": Consider simplification with algebra_simps or field_simps. b) Lifting rules from addition to subtraction: Try with "using of [... "- _" ...]" by simp". c) Simplification with "diff_def": just drop "diff_def". Consider simplification with algebra_simps or field_simps; or the brute way with "simp add: diff_conv_add_uminus del: add_uminus_conv_diff". * Introduce bdd_above and bdd_below in theory Conditionally_Complete_Lattices, use them instead of explicitly stating boundedness of sets. * ccpo.admissible quantifies only over non-empty chains to allow more syntax-directed proof rules; the case of the empty chain shows up as additional case in fixpoint induction proofs. INCOMPATIBILITY. * Removed and renamed theorems in Series: summable_le ~> suminf_le suminf_le ~> suminf_le_const series_pos_le ~> setsum_le_suminf series_pos_less ~> setsum_less_suminf suminf_ge_zero ~> suminf_nonneg suminf_gt_zero ~> suminf_pos suminf_gt_zero_iff ~> suminf_pos_iff summable_sumr_LIMSEQ_suminf ~> summable_LIMSEQ suminf_0_le ~> suminf_nonneg [rotate] pos_summable ~> summableI_nonneg_bounded ratio_test ~> summable_ratio_test removed series_zero, replaced by sums_finite removed auxiliary lemmas: sumr_offset, sumr_offset2, sumr_offset3, sumr_offset4, sumr_group, half, le_Suc_ex_iff, lemma_realpow_diff_sumr, real_setsum_nat_ivl_bounded, summable_le2, ratio_test_lemma2, sumr_minus_one_realpow_zerom, sumr_one_lb_realpow_zero, summable_convergent_sumr_iff, sumr_diff_mult_const INCOMPATIBILITY. * Replace (F)DERIV syntax by has_derivative: - "(f has_derivative f') (at x within s)" replaces "FDERIV f x : s : f'" - "(f has_field_derivative f') (at x within s)" replaces "DERIV f x : s : f'" - "f differentiable at x within s" replaces "_ differentiable _ in _" syntax - removed constant isDiff - "DERIV f x : f'" and "FDERIV f x : f'" syntax is only available as input syntax. - "DERIV f x : s : f'" and "FDERIV f x : s : f'" syntax removed. - Renamed FDERIV_... lemmas to has_derivative_... - renamed deriv (the syntax constant used for "DERIV _ _ :> _") to DERIV - removed DERIV_intros, has_derivative_eq_intros - introduced derivative_intros and deriative_eq_intros which includes now rules for DERIV, has_derivative and has_vector_derivative. - Other renamings: differentiable_def ~> real_differentiable_def differentiableE ~> real_differentiableE fderiv_def ~> has_derivative_at field_fderiv_def ~> field_has_derivative_at isDiff_der ~> differentiable_def deriv_fderiv ~> has_field_derivative_def deriv_def ~> DERIV_def INCOMPATIBILITY. * Include more theorems in continuous_intros. Remove the continuous_on_intros, isCont_intros collections, these facts are now in continuous_intros. * Theorems about complex numbers are now stated only using Re and Im, the Complex constructor is not used anymore. It is possible to use primcorec to defined the behaviour of a complex-valued function. Removed theorems about the Complex constructor from the simpset, they are available as the lemma collection legacy_Complex_simps. This especially removes i_complex_of_real: "ii * complex_of_real r = Complex 0 r". Instead the reverse direction is supported with Complex_eq: "Complex a b = a + \ * b" Moved csqrt from Fundamental_Algebra_Theorem to Complex. Renamings: Re/Im ~> complex.sel complex_Re/Im_zero ~> zero_complex.sel complex_Re/Im_add ~> plus_complex.sel complex_Re/Im_minus ~> uminus_complex.sel complex_Re/Im_diff ~> minus_complex.sel complex_Re/Im_one ~> one_complex.sel complex_Re/Im_mult ~> times_complex.sel complex_Re/Im_inverse ~> inverse_complex.sel complex_Re/Im_scaleR ~> scaleR_complex.sel complex_Re/Im_i ~> ii.sel complex_Re/Im_cnj ~> cnj.sel Re/Im_cis ~> cis.sel complex_divide_def ~> divide_complex_def complex_norm_def ~> norm_complex_def cmod_def ~> norm_complex_de Removed theorems: complex_zero_def complex_add_def complex_minus_def complex_diff_def complex_one_def complex_mult_def complex_inverse_def complex_scaleR_def INCOMPATIBILITY. * Theory Lubs moved HOL image to HOL-Library. It is replaced by Conditionally_Complete_Lattices. INCOMPATIBILITY. * HOL-Library: new theory src/HOL/Library/Tree.thy. * HOL-Library: removed theory src/HOL/Library/Kleene_Algebra.thy; it is subsumed by session Kleene_Algebra in AFP. * HOL-Library / theory RBT: various constants and facts are hidden; lifting setup is unregistered. INCOMPATIBILITY. * HOL-Cardinals: new theory src/HOL/Cardinals/Ordinal_Arithmetic.thy. * HOL-Word: bit representations prefer type bool over type bit. INCOMPATIBILITY. * HOL-Word: - Abandoned fact collection "word_arith_alts", which is a duplicate of "word_arith_wis". - Dropped first (duplicated) element in fact collections "sint_word_ariths", "word_arith_alts", "uint_word_ariths", "uint_word_arith_bintrs". * HOL-Number_Theory: - consolidated the proofs of the binomial theorem - the function fib is again of type nat => nat and not overloaded - no more references to Old_Number_Theory in the HOL libraries (except the AFP) INCOMPATIBILITY. * HOL-Multivariate_Analysis: - Type class ordered_real_vector for ordered vector spaces. - New theory Complex_Basic_Analysis defining complex derivatives, holomorphic functions, etc., ported from HOL Light's canal.ml. - Changed order of ordered_euclidean_space to be compatible with pointwise ordering on products. Therefore instance of conditionally_complete_lattice and ordered_real_vector. INCOMPATIBILITY: use box instead of greaterThanLessThan or explicit set-comprehensions with eucl_less for other (half-)open intervals. - removed dependencies on type class ordered_euclidean_space with introduction of "cbox" on euclidean_space - renamed theorems: interval ~> box mem_interval ~> mem_box interval_eq_empty ~> box_eq_empty interval_ne_empty ~> box_ne_empty interval_sing(1) ~> cbox_sing interval_sing(2) ~> box_sing subset_interval_imp ~> subset_box_imp subset_interval ~> subset_box open_interval ~> open_box closed_interval ~> closed_cbox interior_closed_interval ~> interior_cbox bounded_closed_interval ~> bounded_cbox compact_interval ~> compact_cbox bounded_subset_closed_interval_symmetric ~> bounded_subset_cbox_symmetric bounded_subset_closed_interval ~> bounded_subset_cbox mem_interval_componentwiseI ~> mem_box_componentwiseI convex_box ~> convex_prod rel_interior_real_interval ~> rel_interior_real_box convex_interval ~> convex_box convex_hull_eq_real_interval ~> convex_hull_eq_real_cbox frechet_derivative_within_closed_interval ~> frechet_derivative_within_cbox content_closed_interval' ~> content_cbox' elementary_subset_interval ~> elementary_subset_box diameter_closed_interval ~> diameter_cbox frontier_closed_interval ~> frontier_cbox frontier_open_interval ~> frontier_box bounded_subset_open_interval_symmetric ~> bounded_subset_box_symmetric closure_open_interval ~> closure_box open_closed_interval_convex ~> open_cbox_convex open_interval_midpoint ~> box_midpoint content_image_affinity_interval ~> content_image_affinity_cbox is_interval_interval ~> is_interval_cbox + is_interval_box + is_interval_closed_interval bounded_interval ~> bounded_closed_interval + bounded_boxes - respective theorems for intervals over the reals: content_closed_interval + content_cbox has_integral + has_integral_real fine_division_exists + fine_division_exists_real has_integral_null + has_integral_null_real tagged_division_union_interval + tagged_division_union_interval_real has_integral_const + has_integral_const_real integral_const + integral_const_real has_integral_bound + has_integral_bound_real integrable_continuous + integrable_continuous_real integrable_subinterval + integrable_subinterval_real has_integral_reflect_lemma + has_integral_reflect_lemma_real integrable_reflect + integrable_reflect_real integral_reflect + integral_reflect_real image_affinity_interval + image_affinity_cbox image_smult_interval + image_smult_cbox integrable_const + integrable_const_ivl integrable_on_subinterval + integrable_on_subcbox - renamed theorems: derivative_linear ~> has_derivative_bounded_linear derivative_is_linear ~> has_derivative_linear bounded_linear_imp_linear ~> bounded_linear.linear * HOL-Probability: - Renamed positive_integral to nn_integral: . Renamed all lemmas "*positive_integral*" to *nn_integral*" positive_integral_positive ~> nn_integral_nonneg . Renamed abbreviation integral\<^sup>P to integral\<^sup>N. - replaced the Lebesgue integral on real numbers by the more general Bochner integral for functions into a real-normed vector space. integral_zero ~> integral_zero / integrable_zero integral_minus ~> integral_minus / integrable_minus integral_add ~> integral_add / integrable_add integral_diff ~> integral_diff / integrable_diff integral_setsum ~> integral_setsum / integrable_setsum integral_multc ~> integral_mult_left / integrable_mult_left integral_cmult ~> integral_mult_right / integrable_mult_right integral_triangle_inequality~> integral_norm_bound integrable_nonneg ~> integrableI_nonneg integral_positive ~> integral_nonneg_AE integrable_abs_iff ~> integrable_abs_cancel positive_integral_lim_INF ~> nn_integral_liminf lebesgue_real_affine ~> lborel_real_affine borel_integral_has_integral ~> has_integral_lebesgue_integral integral_indicator ~> integral_real_indicator / integrable_real_indicator positive_integral_fst ~> nn_integral_fst' positive_integral_fst_measurable ~> nn_integral_fst positive_integral_snd_measurable ~> nn_integral_snd integrable_fst_measurable ~> integral_fst / integrable_fst / AE_integrable_fst integrable_snd_measurable ~> integral_snd / integrable_snd / AE_integrable_snd integral_monotone_convergence ~> integral_monotone_convergence / integrable_monotone_convergence integral_monotone_convergence_at_top ~> integral_monotone_convergence_at_top / integrable_monotone_convergence_at_top has_integral_iff_positive_integral_lebesgue ~> has_integral_iff_has_bochner_integral_lebesgue_nonneg lebesgue_integral_has_integral ~> has_integral_integrable_lebesgue_nonneg positive_integral_lebesgue_has_integral ~> integral_has_integral_lebesgue_nonneg / integrable_has_integral_lebesgue_nonneg lebesgue_integral_real_affine ~> nn_integral_real_affine has_integral_iff_positive_integral_lborel ~> integral_has_integral_nonneg / integrable_has_integral_nonneg The following theorems where removed: lebesgue_integral_nonneg lebesgue_integral_uminus lebesgue_integral_cmult lebesgue_integral_multc lebesgue_integral_cmult_nonneg integral_cmul_indicator integral_real - Formalized properties about exponentially, Erlang, and normal distributed random variables. * HOL-Decision_Procs: Separate command 'approximate' for approximative computation in src/HOL/Decision_Procs/Approximation. Minor INCOMPATIBILITY. *** Scala *** * The signature and semantics of Document.Snapshot.cumulate_markup / select_markup have been clarified. Markup is now traversed in the order of reports given by the prover: later markup is usually more specific and may override results accumulated so far. The elements guard is mandatory and checked precisely. Subtle INCOMPATIBILITY. * Substantial reworking of internal PIDE protocol communication channels. INCOMPATIBILITY. *** ML *** * Subtle change of semantics of Thm.eq_thm: theory stamps are not compared (according to Thm.thm_ord), but assumed to be covered by the current background theory. Thus equivalent data produced in different branches of the theory graph usually coincides (e.g. relevant for theory merge). Note that the softer Thm.eq_thm_prop is often more appropriate than Thm.eq_thm. * Proper context for basic Simplifier operations: rewrite_rule, rewrite_goals_rule, rewrite_goals_tac etc. INCOMPATIBILITY, need to pass runtime Proof.context (and ensure that the simplified entity actually belongs to it). * Proper context discipline for read_instantiate and instantiate_tac: variables that are meant to become schematic need to be given as fixed, and are generalized by the explicit context of local variables. This corresponds to Isar attributes "where" and "of" with 'for' declaration. INCOMPATIBILITY, also due to potential change of indices of schematic variables. * Moved ML_Compiler.exn_trace and other operations on exceptions to structure Runtime. Minor INCOMPATIBILITY. * Discontinued old Toplevel.debug in favour of system option "ML_exception_trace", which may be also declared within the context via "declare [[ML_exception_trace = true]]". Minor INCOMPATIBILITY. * Renamed configuration option "ML_trace" to "ML_source_trace". Minor INCOMPATIBILITY. * Configuration option "ML_print_depth" controls the pretty-printing depth of the ML compiler within the context. The old print_depth in ML is still available as default_print_depth, but rarely used. Minor INCOMPATIBILITY. * Toplevel function "use" refers to raw ML bootstrap environment, without Isar context nor antiquotations. Potential INCOMPATIBILITY. Note that 'ML_file' is the canonical command to load ML files into the formal context. * Simplified programming interface to define ML antiquotations, see structure ML_Antiquotation. Minor INCOMPATIBILITY. * ML antiquotation @{here} refers to its source position, which is occasionally useful for experimentation and diagnostic purposes. * ML antiquotation @{path} produces a Path.T value, similarly to Path.explode, but with compile-time check against the file-system and some PIDE markup. Note that unlike theory source, ML does not have a well-defined master directory, so an absolute symbolic path specification is usually required, e.g. "~~/src/HOL". * ML antiquotation @{print} inlines a function to print an arbitrary ML value, which is occasionally useful for diagnostic or demonstration purposes. *** System *** * Proof General with its traditional helper scripts is now an optional Isabelle component, e.g. see ProofGeneral-4.2-2 from the Isabelle component repository http://isabelle.in.tum.de/components/. Note that the "system" manual provides general explanations about add-on components, especially those that are not bundled with the release. * The raw Isabelle process executable has been renamed from "isabelle-process" to "isabelle_process", which conforms to common shell naming conventions, and allows to define a shell function within the Isabelle environment to avoid dynamic path lookup. Rare incompatibility for old tools that do not use the ISABELLE_PROCESS settings variable. * Former "isabelle tty" has been superseded by "isabelle console", with implicit build like "isabelle jedit", and without the mostly obsolete Isar TTY loop. * Simplified "isabelle display" tool. Settings variables DVI_VIEWER and PDF_VIEWER now refer to the actual programs, not shell command-lines. Discontinued option -c: invocation may be asynchronous via desktop environment, without any special precautions. Potential INCOMPATIBILITY with ambitious private settings. * Removed obsolete "isabelle unsymbolize". Note that the usual format for email communication is the Unicode rendering of Isabelle symbols, as produced by Isabelle/jEdit, for example. * Removed obsolete tool "wwwfind". Similar functionality may be integrated into Isabelle/jEdit eventually. * Improved 'display_drafts' concerning desktop integration and repeated invocation in PIDE front-end: re-use single file $ISABELLE_HOME_USER/tmp/drafts.pdf and corresponding views. * Session ROOT specifications require explicit 'document_files' for robust dependencies on LaTeX sources. Only these explicitly given files are copied to the document output directory, before document processing is started. * Windows: support for regular TeX installation (e.g. MiKTeX) instead of TeX Live from Cygwin. New in Isabelle2013-2 (December 2013) ------------------------------------- *** Prover IDE -- Isabelle/Scala/jEdit *** * More robust editing of running commands with internal forks, e.g. non-terminating 'by' steps. * More relaxed Sledgehammer panel: avoid repeated application of query after edits surrounding the command location. * More status information about commands that are interrupted accidentally (via physical event or Poly/ML runtime system signal, e.g. out-of-memory). *** System *** * More robust termination of external processes managed by Isabelle/ML: support cancellation of tasks within the range of milliseconds, as required for PIDE document editing with automatically tried tools (e.g. Sledgehammer). * Reactivated Isabelle/Scala kill command for external processes on Mac OS X, which was accidentally broken in Isabelle2013-1 due to a workaround for some Debian/Ubuntu Linux versions from 2013. New in Isabelle2013-1 (November 2013) ------------------------------------- *** General *** * Discontinued obsolete 'uses' within theory header. Note that commands like 'ML_file' work without separate declaration of file dependencies. Minor INCOMPATIBILITY. * Discontinued redundant 'use' command, which was superseded by 'ML_file' in Isabelle2013. Minor INCOMPATIBILITY. * Simplified subscripts within identifiers, using plain \<^sub> instead of the second copy \<^isub> and \<^isup>. Superscripts are only for literal tokens within notation; explicit mixfix annotations for consts or fixed variables may be used as fall-back for unusual names. Obsolete \ has been expanded to \<^sup>2 in Isabelle/HOL. INCOMPATIBILITY, use "isabelle update_sub_sup" to standardize symbols as a starting point for further manual cleanup. The ML reference variable "legacy_isub_isup" may be set as temporary workaround, to make the prover accept a subset of the old identifier syntax. * Document antiquotations: term style "isub" has been renamed to "sub". Minor INCOMPATIBILITY. * Uniform management of "quick_and_dirty" as system option (see also "isabelle options"), configuration option within the context (see also Config.get in Isabelle/ML), and attribute in Isabelle/Isar. Minor INCOMPATIBILITY, need to use more official Isabelle means to access quick_and_dirty, instead of historical poking into mutable reference. * Renamed command 'print_configs' to 'print_options'. Minor INCOMPATIBILITY. * Proper diagnostic command 'print_state'. Old 'pr' (with its implicit change of some global references) is retained for now as control command, e.g. for ProofGeneral 3.7.x. * Discontinued 'print_drafts' command with its old-fashioned PS output and Unix command-line print spooling. Minor INCOMPATIBILITY: use 'display_drafts' instead and print via the regular document viewer. * Updated and extended "isar-ref" and "implementation" manual, eliminated old "ref" manual. *** Prover IDE -- Isabelle/Scala/jEdit *** * New manual "jedit" for Isabelle/jEdit, see isabelle doc or Documentation panel. * Dockable window "Documentation" provides access to Isabelle documentation. * Dockable window "Find" provides query operations for formal entities (GUI front-end to 'find_theorems' command). * Dockable window "Sledgehammer" manages asynchronous / parallel sledgehammer runs over existing document sources, independently of normal editing and checking process. * Dockable window "Timing" provides an overview of relevant command timing information, depending on option jedit_timing_threshold. The same timing information is shown in the extended tooltip of the command keyword, when hovering the mouse over it while the CONTROL or COMMAND modifier is pressed. * Improved dockable window "Theories": Continuous checking of proof document (visible and required parts) may be controlled explicitly, using check box or shortcut "C+e ENTER". Individual theory nodes may be marked explicitly as required and checked in full, using check box or shortcut "C+e SPACE". * Improved completion mechanism, which is now managed by the Isabelle/jEdit plugin instead of SideKick. Refined table of Isabelle symbol abbreviations (see $ISABELLE_HOME/etc/symbols). * Standard jEdit keyboard shortcut C+b complete-word is remapped to isabelle.complete for explicit completion in Isabelle sources. INCOMPATIBILITY wrt. jEdit defaults, may have to invent new shortcuts to resolve conflict. * Improved support of various "minor modes" for Isabelle NEWS, options, session ROOT etc., with completion and SideKick tree view. * Strictly monotonic document update, without premature cancellation of running transactions that are still needed: avoid reset/restart of such command executions while editing. * Support for asynchronous print functions, as overlay to existing document content. * Support for automatic tools in HOL, which try to prove or disprove toplevel theorem statements. * Action isabelle.reset-font-size resets main text area font size according to Isabelle/Scala plugin option "jedit_font_reset_size" (see also "Plugin Options / Isabelle / General"). It can be bound to some keyboard shortcut by the user (e.g. C+0 and/or C+NUMPAD0). * File specifications in jEdit (e.g. file browser) may refer to $ISABELLE_HOME and $ISABELLE_HOME_USER on all platforms. Discontinued obsolete $ISABELLE_HOME_WINDOWS variable. * Improved support for Linux look-and-feel "GTK+", see also "Utilities / Global Options / Appearance". * Improved support of native Mac OS X functionality via "MacOSX" plugin, which is now enabled by default. *** Pure *** * Commands 'interpretation' and 'sublocale' are now target-sensitive. In particular, 'interpretation' allows for non-persistent interpretation within "context ... begin ... end" blocks offering a light-weight alternative to 'sublocale'. See "isar-ref" manual for details. * Improved locales diagnostic command 'print_dependencies'. * Discontinued obsolete 'axioms' command, which has been marked as legacy since Isabelle2009-2. INCOMPATIBILITY, use 'axiomatization' instead, while observing its uniform scope for polymorphism. * Discontinued empty name bindings in 'axiomatization'. INCOMPATIBILITY. * System option "proofs" has been discontinued. Instead the global state of Proofterm.proofs is persistently compiled into logic images as required, notably HOL-Proofs. Users no longer need to change Proofterm.proofs dynamically. Minor INCOMPATIBILITY. * Syntax translation functions (print_translation etc.) always depend on Proof.context. Discontinued former "(advanced)" option -- this is now the default. Minor INCOMPATIBILITY. * Former global reference trace_unify_fail is now available as configuration option "unify_trace_failure" (global context only). * SELECT_GOAL now retains the syntactic context of the overall goal state (schematic variables etc.). Potential INCOMPATIBILITY in rare situations. *** HOL *** * Stronger precedence of syntax for big intersection and union on sets, in accordance with corresponding lattice operations. INCOMPATIBILITY. * Notation "{p:A. P}" now allows tuple patterns as well. * Nested case expressions are now translated in a separate check phase rather than during parsing. The data for case combinators is separated from the datatype package. The declaration attribute "case_translation" can be used to register new case combinators: declare [[case_translation case_combinator constructor1 ... constructorN]] * Code generator: - 'code_printing' unifies 'code_const' / 'code_type' / 'code_class' / 'code_instance'. - 'code_identifier' declares name hints for arbitrary identifiers in generated code, subsuming 'code_modulename'. See the isar-ref manual for syntax diagrams, and the HOL theories for examples. * Attibute 'code': 'code' now declares concrete and abstract code equations uniformly. Use explicit 'code equation' and 'code abstract' to distinguish both when desired. * Discontinued theories Code_Integer and Efficient_Nat by a more fine-grain stack of theories Code_Target_Int, Code_Binary_Nat, Code_Target_Nat and Code_Target_Numeral. See the tutorial on code generation for details. INCOMPATIBILITY. * Numeric types are mapped by default to target language numerals: natural (replaces former code_numeral) and integer (replaces former code_int). Conversions are available as integer_of_natural / natural_of_integer / integer_of_nat / nat_of_integer (in HOL) and Code_Numeral.integer_of_natural / Code_Numeral.natural_of_integer (in ML). INCOMPATIBILITY. * Function package: For mutually recursive functions f and g, separate cases rules f.cases and g.cases are generated instead of unusable f_g.cases which exposed internal sum types. Potential INCOMPATIBILITY, in the case that the unusable rule was used nevertheless. * Function package: For each function f, new rules f.elims are generated, which eliminate equalities of the form "f x = t". * New command 'fun_cases' derives ad-hoc elimination rules for function equations as simplified instances of f.elims, analogous to inductive_cases. See ~~/src/HOL/ex/Fundefs.thy for some examples. * Lifting: - parametrized correspondence relations are now supported: + parametricity theorems for the raw term can be specified in the command lift_definition, which allow us to generate stronger transfer rules + setup_lifting generates stronger transfer rules if parametric correspondence relation can be generated + various new properties of the relator must be specified to support parametricity + parametricity theorem for the Quotient relation can be specified - setup_lifting generates domain rules for the Transfer package - stronger reflexivity prover of respectfulness theorems for type copies - ===> and --> are now local. The symbols can be introduced by interpreting the locale lifting_syntax (typically in an anonymous context) - Lifting/Transfer relevant parts of Library/Quotient_* are now in Main. Potential INCOMPATIBILITY - new commands for restoring and deleting Lifting/Transfer context: lifting_forget, lifting_update - the command print_quotmaps was renamed to print_quot_maps. INCOMPATIBILITY * Transfer: - better support for domains in Transfer: replace Domainp T by the actual invariant in a transferred goal - transfer rules can have as assumptions other transfer rules - Experimental support for transferring from the raw level to the abstract level: Transfer.transferred attribute - Attribute version of the transfer method: untransferred attribute * Reification and reflection: - Reification is now directly available in HOL-Main in structure "Reification". - Reflection now handles multiple lists with variables also. - The whole reflection stack has been decomposed into conversions. INCOMPATIBILITY. * Revised devices for recursive definitions over finite sets: - Only one fundamental fold combinator on finite set remains: Finite_Set.fold :: ('a => 'b => 'b) => 'b => 'a set => 'b This is now identity on infinite sets. - Locales ("mini packages") for fundamental definitions with Finite_Set.fold: folding, folding_idem. - Locales comm_monoid_set, semilattice_order_set and semilattice_neutr_order_set for big operators on sets. See theory Big_Operators for canonical examples. Note that foundational constants comm_monoid_set.F and semilattice_set.F correspond to former combinators fold_image and fold1 respectively. These are now gone. You may use those foundational constants as substitutes, but it is preferable to interpret the above locales accordingly. - Dropped class ab_semigroup_idem_mult (special case of lattice, no longer needed in connection with Finite_Set.fold etc.) - Fact renames: card.union_inter ~> card_Un_Int [symmetric] card.union_disjoint ~> card_Un_disjoint INCOMPATIBILITY. * Locale hierarchy for abstract orderings and (semi)lattices. * Complete_Partial_Order.admissible is defined outside the type class ccpo, but with mandatory prefix ccpo. Admissibility theorems lose the class predicate assumption or sort constraint when possible. INCOMPATIBILITY. * Introduce type class "conditionally_complete_lattice": Like a complete lattice but does not assume the existence of the top and bottom elements. Allows to generalize some lemmas about reals and extended reals. Removed SupInf and replaced it by the instantiation of conditionally_complete_lattice for real. Renamed lemmas about conditionally-complete lattice from Sup_... to cSup_... and from Inf_... to cInf_... to avoid hidding of similar complete lattice lemmas. * Introduce type class linear_continuum as combination of conditionally-complete lattices and inner dense linorders which have more than one element. INCOMPATIBILITY. * Introduced type classes order_top and order_bot. The old classes top and bot only contain the syntax without assumptions. INCOMPATIBILITY: Rename bot -> order_bot, top -> order_top * Introduce type classes "no_top" and "no_bot" for orderings without top and bottom elements. * Split dense_linorder into inner_dense_order and no_top, no_bot. * Complex_Main: Unify and move various concepts from HOL-Multivariate_Analysis to HOL-Complex_Main. - Introduce type class (lin)order_topology and linear_continuum_topology. Allows to generalize theorems about limits and order. Instances are reals and extended reals. - continuous and continuos_on from Multivariate_Analysis: "continuous" is the continuity of a function at a filter. "isCont" is now an abbrevitation: "isCont x f == continuous (at _) f". Generalized continuity lemmas from isCont to continuous on an arbitrary filter. - compact from Multivariate_Analysis. Use Bolzano's lemma to prove compactness of closed intervals on reals. Continuous functions attain infimum and supremum on compact sets. The inverse of a continuous function is continuous, when the function is continuous on a compact set. - connected from Multivariate_Analysis. Use it to prove the intermediate value theorem. Show connectedness of intervals on linear_continuum_topology). - first_countable_topology from Multivariate_Analysis. Is used to show equivalence of properties on the neighbourhood filter of x and on all sequences converging to x. - FDERIV: Definition of has_derivative moved to Deriv.thy. Moved theorems from Library/FDERIV.thy to Deriv.thy and base the definition of DERIV on FDERIV. Add variants of DERIV and FDERIV which are restricted to sets, i.e. to represent derivatives from left or right. - Removed the within-filter. It is replaced by the principal filter: F within X = inf F (principal X) - Introduce "at x within U" as a single constant, "at x" is now an abbreviation for "at x within UNIV" - Introduce named theorem collections tendsto_intros, continuous_intros, continuous_on_intros and FDERIV_intros. Theorems in tendsto_intros (or FDERIV_intros) are also available as tendsto_eq_intros (or FDERIV_eq_intros) where the right-hand side is replaced by a congruence rule. This allows to apply them as intro rules and then proving equivalence by the simplifier. - Restructured theories in HOL-Complex_Main: + Moved RealDef and RComplete into Real + Introduced Topological_Spaces and moved theorems about topological spaces, filters, limits and continuity to it + Renamed RealVector to Real_Vector_Spaces + Split Lim, SEQ, Series into Topological_Spaces, Real_Vector_Spaces, and Limits + Moved Ln and Log to Transcendental + Moved theorems about continuity from Deriv to Topological_Spaces - Remove various auxiliary lemmas. INCOMPATIBILITY. * Nitpick: - Added option "spy". - Reduce incidence of "too high arity" errors. * Sledgehammer: - Renamed option: isar_shrink ~> isar_compress INCOMPATIBILITY. - Added options "isar_try0", "spy". - Better support for "isar_proofs". - MaSh has been fined-tuned and now runs as a local server. * Improved support for ad hoc overloading of constants (see also isar-ref manual and ~~/src/HOL/ex/Adhoc_Overloading_Examples.thy). * Library/Polynomial.thy: - Use lifting for primitive definitions. - Explicit conversions from and to lists of coefficients, used for generated code. - Replaced recursion operator poly_rec by fold_coeffs. - Prefer pre-existing gcd operation for gcd. - Fact renames: poly_eq_iff ~> poly_eq_poly_eq_iff poly_ext ~> poly_eqI expand_poly_eq ~> poly_eq_iff IMCOMPATIBILITY. * New Library/Simps_Case_Conv.thy: Provides commands simps_of_case and case_of_simps to convert function definitions between a list of equations with patterns on the lhs and a single equation with case expressions on the rhs. See also Ex/Simps_Case_Conv_Examples.thy. * New Library/FSet.thy: type of finite sets defined as a subtype of sets defined by Lifting/Transfer. * Discontinued theory src/HOL/Library/Eval_Witness. INCOMPATIBILITY. * Consolidation of library theories on product orders: Product_Lattice ~> Product_Order -- pointwise order on products Product_ord ~> Product_Lexorder -- lexicographic order on products INCOMPATIBILITY. * Imperative-HOL: The MREC combinator is considered legacy and no longer included by default. INCOMPATIBILITY, use partial_function instead, or import theory Legacy_Mrec as a fallback. * HOL-Algebra: Discontinued theories ~~/src/HOL/Algebra/abstract and ~~/src/HOL/Algebra/poly. Existing theories should be based on ~~/src/HOL/Library/Polynomial instead. The latter provides integration with HOL's type classes for rings. INCOMPATIBILITY. * HOL-BNF: - Various improvements to BNF-based (co)datatype package, including new commands "primrec_new", "primcorec", and "datatype_new_compat", as well as documentation. See "datatypes.pdf" for details. - New "coinduction" method to avoid some boilerplate (compared to coinduct). - Renamed keywords: data ~> datatype_new codata ~> codatatype bnf_def ~> bnf - Renamed many generated theorems, including discs ~> disc map_comp' ~> map_comp map_id' ~> map_id sels ~> sel set_map' ~> set_map sets ~> set IMCOMPATIBILITY. *** ML *** * Spec_Check is a Quickcheck tool for Isabelle/ML. The ML function "check_property" allows to check specifications of the form "ALL x y z. prop x y z". See also ~~/src/Tools/Spec_Check/ with its Examples.thy in particular. * Improved printing of exception trace in Poly/ML 5.5.1, with regular tracing output in the command transaction context instead of physical stdout. See also Toplevel.debug, Toplevel.debugging and ML_Compiler.exn_trace. * ML type "theory" is now immutable, without any special treatment of drafts or linear updates (which could lead to "stale theory" errors in the past). Discontinued obsolete operations like Theory.copy, Theory.checkpoint, and the auxiliary type theory_ref. Minor INCOMPATIBILITY. * More uniform naming of goal functions for skipped proofs: Skip_Proof.prove ~> Goal.prove_sorry Skip_Proof.prove_global ~> Goal.prove_sorry_global Minor INCOMPATIBILITY. * Simplifier tactics and tools use proper Proof.context instead of historic type simpset. Old-style declarations like addsimps, addsimprocs etc. operate directly on Proof.context. Raw type simpset retains its use as snapshot of the main Simplifier context, using simpset_of and put_simpset on Proof.context. INCOMPATIBILITY -- port old tools by making them depend on (ctxt : Proof.context) instead of (ss : simpset), then turn (simpset_of ctxt) into ctxt. * Modifiers for classical wrappers (e.g. addWrapper, delWrapper) operate on Proof.context instead of claset, for uniformity with addIs, addEs, addDs etc. Note that claset_of and put_claset allow to manage clasets separately from the context. * Discontinued obsolete ML antiquotations @{claset} and @{simpset}. INCOMPATIBILITY, use @{context} instead. * Antiquotation @{theory_context A} is similar to @{theory A}, but presents the result as initial Proof.context. *** System *** * Discontinued obsolete isabelle usedir, mkdir, make -- superseded by "isabelle build" in Isabelle2013. INCOMPATIBILITY. * Discontinued obsolete isabelle-process options -f and -u (former administrative aliases of option -e). Minor INCOMPATIBILITY. * Discontinued obsolete isabelle print tool, and PRINT_COMMAND settings variable. * Discontinued ISABELLE_DOC_FORMAT settings variable and historic document formats: dvi.gz, ps, ps.gz -- the default document format is always pdf. * Isabelle settings variable ISABELLE_BUILD_JAVA_OPTIONS allows to specify global resources of the JVM process run by isabelle build. * Toplevel executable $ISABELLE_HOME/bin/isabelle_scala_script allows to run Isabelle/Scala source files as standalone programs. * Improved "isabelle keywords" tool (for old-style ProofGeneral keyword tables): use Isabelle/Scala operations, which inspect outer syntax without requiring to build sessions first. * Sessions may be organized via 'chapter' specifications in the ROOT file, which determines a two-level hierarchy of browser info. The old tree-like organization via implicit sub-session relation (with its tendency towards erratic fluctuation of URLs) has been discontinued. The default chapter is called "Unsorted". Potential INCOMPATIBILITY for HTML presentation of theories. New in Isabelle2013 (February 2013) ----------------------------------- *** General *** * Theorem status about oracles and unfinished/failed future proofs is no longer printed by default, since it is incompatible with incremental / parallel checking of the persistent document model. ML function Thm.peek_status may be used to inspect a snapshot of the ongoing evaluation process. Note that in batch mode --- notably isabelle build --- the system ensures that future proofs of all accessible theorems in the theory context are finished (as before). * Configuration option show_markup controls direct inlining of markup into the printed representation of formal entities --- notably type and sort constraints. This enables Prover IDE users to retrieve that information via tooltips in the output window, for example. * Command 'ML_file' evaluates ML text from a file directly within the theory, without any predeclaration via 'uses' in the theory header. * Old command 'use' command and corresponding keyword 'uses' in the theory header are legacy features and will be discontinued soon. Tools that load their additional source files may imitate the 'ML_file' implementation, such that the system can take care of dependencies properly. * Discontinued obsolete method fastsimp / tactic fast_simp_tac, which is called fastforce / fast_force_tac already since Isabelle2011-1. * Updated and extended "isar-ref" and "implementation" manual, reduced remaining material in old "ref" manual. * Improved support for auxiliary contexts that indicate block structure for specifications. Nesting of "context fixes ... context assumes ..." and "class ... context ...". * Attribute "consumes" allows a negative value as well, which is interpreted relatively to the total number of premises of the rule in the target context. This form of declaration is stable when exported from a nested 'context' with additional assumptions. It is the preferred form for definitional packages, notably cases/rules produced in HOL/inductive and HOL/function. * More informative error messages for Isar proof commands involving lazy enumerations (method applications etc.). * Refined 'help' command to retrieve outer syntax commands according to name patterns (with clickable results). *** Prover IDE -- Isabelle/Scala/jEdit *** * Parallel terminal proofs ('by') are enabled by default, likewise proofs that are built into packages like 'datatype', 'function'. This allows to "run ahead" checking the theory specifications on the surface, while the prover is still crunching on internal justifications. Unfinished / cancelled proofs are restarted as required to complete full proof checking eventually. * Improved output panel with tooltips, hyperlinks etc. based on the same Rich_Text_Area as regular Isabelle/jEdit buffers. Activation of tooltips leads to some window that supports the same recursively, which can lead to stacks of tooltips as the semantic document content is explored. ESCAPE closes the whole stack, individual windows may be closed separately, or detached to become independent jEdit dockables. * Improved support for commands that produce graph output: the text message contains a clickable area to open a new instance of the graph browser on demand. * More robust incremental parsing of outer syntax (partial comments, malformed symbols). Changing the balance of open/close quotes and comment delimiters works more conveniently with unfinished situations that frequently occur in user interaction. * More efficient painting and improved reactivity when editing large files. More scalable management of formal document content. * Smarter handling of tracing messages: prover process pauses after certain number of messages per command transaction, with some user dialog to stop or continue. This avoids swamping the front-end with potentially infinite message streams. * More plugin options and preferences, based on Isabelle/Scala. The jEdit plugin option panel provides access to some Isabelle/Scala options, including tuning parameters for editor reactivity and color schemes. * Dockable window "Symbols" provides some editing support for Isabelle symbols. * Dockable window "Monitor" shows ML runtime statistics. Note that continuous display of the chart slows down the system. * Improved editing support for control styles: subscript, superscript, bold, reset of style -- operating on single symbols or text selections. Cf. keyboard shortcuts C+e DOWN/UP/RIGHT/LEFT. * Actions isabelle.increase-font-size and isabelle.decrease-font-size adjust the main text area font size, and its derivatives for output, tooltips etc. Cf. keyboard shortcuts C-PLUS and C-MINUS, which often need to be adapted to local keyboard layouts. * More reactive completion popup by default: use \t (TAB) instead of \n (NEWLINE) to minimize intrusion into regular flow of editing. See also "Plugin Options / SideKick / General / Code Completion Options". * Implicit check and build dialog of the specified logic session image. For example, HOL, HOLCF, HOL-Nominal can be produced on demand, without bundling big platform-dependent heap images in the Isabelle distribution. * Uniform Java 7 platform on Linux, Mac OS X, Windows: recent updates from Oracle provide better multi-platform experience. This version is now bundled exclusively with Isabelle. *** Pure *** * Code generation for Haskell: restrict unqualified imports from Haskell Prelude to a small set of fundamental operations. * Command 'export_code': relative file names are interpreted relatively to master directory of current theory rather than the rather arbitrary current working directory. INCOMPATIBILITY. * Discontinued obsolete attribute "COMP". Potential INCOMPATIBILITY, use regular rule composition via "OF" / "THEN", or explicit proof structure instead. Note that Isabelle/ML provides a variety of operators like COMP, INCR_COMP, COMP_INCR, which need to be applied with some care where this is really required. * Command 'typ' supports an additional variant with explicit sort constraint, to infer and check the most general type conforming to a given sort. Example (in HOL): typ "_ * _ * bool * unit" :: finite * Command 'locale_deps' visualizes all locales and their relations as a Hasse diagram. *** HOL *** * Sledgehammer: - Added MaSh relevance filter based on machine-learning; see the Sledgehammer manual for details. - Polished Isar proofs generated with "isar_proofs" option. - Rationalized type encodings ("type_enc" option). - Renamed "kill_provers" subcommand to "kill_all". - Renamed options: isar_proof ~> isar_proofs isar_shrink_factor ~> isar_shrink max_relevant ~> max_facts relevance_thresholds ~> fact_thresholds * Quickcheck: added an optimisation for equality premises. It is switched on by default, and can be switched off by setting the configuration quickcheck_optimise_equality to false. * Quotient: only one quotient can be defined by quotient_type INCOMPATIBILITY. * Lifting: - generation of an abstraction function equation in lift_definition - quot_del attribute - renamed no_abs_code -> no_code (INCOMPATIBILITY.) * Simproc "finite_Collect" rewrites set comprehensions into pointfree expressions. * Preprocessing of the code generator rewrites set comprehensions into pointfree expressions. * The SMT solver Z3 has now by default a restricted set of directly supported features. For the full set of features (div/mod, nonlinear arithmetic, datatypes/records) with potential proof reconstruction failures, enable the configuration option "z3_with_extensions". Minor INCOMPATIBILITY. * Simplified 'typedef' specifications: historical options for implicit set definition and alternative name have been discontinued. The former behavior of "typedef (open) t = A" is now the default, but written just "typedef t = A". INCOMPATIBILITY, need to adapt theories accordingly. * Removed constant "chars"; prefer "Enum.enum" on type "char" directly. INCOMPATIBILITY. * Moved operation product, sublists and n_lists from theory Enum to List. INCOMPATIBILITY. * Theorem UN_o generalized to SUP_comp. INCOMPATIBILITY. * Class "comm_monoid_diff" formalises properties of bounded subtraction, with natural numbers and multisets as typical instances. * Added combinator "Option.these" with type "'a option set => 'a set". * Theory "Transitive_Closure": renamed lemmas reflcl_tranclp -> reflclp_tranclp rtranclp_reflcl -> rtranclp_reflclp INCOMPATIBILITY. * Theory "Rings": renamed lemmas (in class semiring) left_distrib ~> distrib_right right_distrib ~> distrib_left INCOMPATIBILITY. * Generalized the definition of limits: - Introduced the predicate filterlim (LIM x F. f x :> G) which expresses that when the input values x converge to F then the output f x converges to G. - Added filters for convergence to positive (at_top) and negative infinity (at_bot). - Moved infinity in the norm (at_infinity) from Multivariate_Analysis to Complex_Main. - Removed real_tendsto_inf, it is superseded by "LIM x F. f x :> at_top". INCOMPATIBILITY. * Theory "Library/Option_ord" provides instantiation of option type to lattice type classes. * Theory "Library/Multiset": renamed constant fold_mset ~> Multiset.fold fact fold_mset_commute ~> fold_mset_comm INCOMPATIBILITY. * Renamed theory Library/List_Prefix to Library/Sublist, with related changes as follows. - Renamed constants (and related lemmas) prefix ~> prefixeq strict_prefix ~> prefix - Replaced constant "postfix" by "suffixeq" with swapped argument order (i.e., "postfix xs ys" is now "suffixeq ys xs") and dropped old infix syntax "xs >>= ys"; use "suffixeq ys xs" instead. Renamed lemmas accordingly. - Added constant "list_hembeq" for homeomorphic embedding on lists. Added abbreviation "sublisteq" for special case "list_hembeq (op =)". - Theory Library/Sublist no longer provides "order" and "bot" type class instances for the prefix order (merely corresponding locale interpretations). The type class instances are now in theory Library/Prefix_Order. - The sublist relation of theory Library/Sublist_Order is now based on "Sublist.sublisteq". Renamed lemmas accordingly: le_list_append_le_same_iff ~> Sublist.sublisteq_append_le_same_iff le_list_append_mono ~> Sublist.list_hembeq_append_mono le_list_below_empty ~> Sublist.list_hembeq_Nil, Sublist.list_hembeq_Nil2 le_list_Cons_EX ~> Sublist.list_hembeq_ConsD le_list_drop_Cons2 ~> Sublist.sublisteq_Cons2' le_list_drop_Cons_neq ~> Sublist.sublisteq_Cons2_neq le_list_drop_Cons ~> Sublist.sublisteq_Cons' le_list_drop_many ~> Sublist.sublisteq_drop_many le_list_filter_left ~> Sublist.sublisteq_filter_left le_list_rev_drop_many ~> Sublist.sublisteq_rev_drop_many le_list_rev_take_iff ~> Sublist.sublisteq_append le_list_same_length ~> Sublist.sublisteq_same_length le_list_take_many_iff ~> Sublist.sublisteq_append' less_eq_list.drop ~> less_eq_list_drop less_eq_list.induct ~> less_eq_list_induct not_le_list_length ~> Sublist.not_sublisteq_length INCOMPATIBILITY. * New theory Library/Countable_Set. * Theory Library/Debug and Library/Parallel provide debugging and parallel execution for code generated towards Isabelle/ML. * Theory Library/FuncSet: Extended support for Pi and extensional and introduce the extensional dependent function space "PiE". Replaced extensional_funcset by an abbreviation, and renamed lemmas from extensional_funcset to PiE as follows: extensional_empty ~> PiE_empty extensional_funcset_empty_domain ~> PiE_empty_domain extensional_funcset_empty_range ~> PiE_empty_range extensional_funcset_arb ~> PiE_arb extensional_funcset_mem ~> PiE_mem extensional_funcset_extend_domainI ~> PiE_fun_upd extensional_funcset_restrict_domain ~> fun_upd_in_PiE extensional_funcset_extend_domain_eq ~> PiE_insert_eq card_extensional_funcset ~> card_PiE finite_extensional_funcset ~> finite_PiE INCOMPATIBILITY. * Theory Library/FinFun: theory of almost everywhere constant functions (supersedes the AFP entry "Code Generation for Functions as Data"). * Theory Library/Phantom: generic phantom type to make a type parameter appear in a constant's type. This alternative to adding TYPE('a) as another parameter avoids unnecessary closures in generated code. * Theory Library/RBT_Impl: efficient construction of red-black trees from sorted associative lists. Merging two trees with rbt_union may return a structurally different tree than before. Potential INCOMPATIBILITY. * Theory Library/IArray: immutable arrays with code generation. * Theory Library/Finite_Lattice: theory of finite lattices. * HOL/Multivariate_Analysis: replaced "basis :: 'a::euclidean_space => nat => real" "\\ :: (nat => real) => 'a::euclidean_space" on euclidean spaces by using the inner product "_ \ _" with vectors from the Basis set: "\\ i. f i" is superseded by "SUM i : Basis. f i * r i". With this change the following constants are also changed or removed: DIM('a) :: nat ~> card (Basis :: 'a set) (is an abbreviation) a $$ i ~> inner a i (where i : Basis) cart_base i removed \, \' removed Theorems about these constants where removed. Renamed lemmas: component_le_norm ~> Basis_le_norm euclidean_eq ~> euclidean_eq_iff differential_zero_maxmin_component ~> differential_zero_maxmin_cart euclidean_simps ~> inner_simps independent_basis ~> independent_Basis span_basis ~> span_Basis in_span_basis ~> in_span_Basis norm_bound_component_le ~> norm_boound_Basis_le norm_bound_component_lt ~> norm_boound_Basis_lt component_le_infnorm ~> Basis_le_infnorm INCOMPATIBILITY. * HOL/Probability: - Added simproc "measurable" to automatically prove measurability. - Added induction rules for sigma sets with disjoint union (sigma_sets_induct_disjoint) and for Borel-measurable functions (borel_measurable_induct). - Added the Daniell-Kolmogorov theorem (the existence the limit of a projective family). * HOL/Cardinals: Theories of ordinals and cardinals (supersedes the AFP entry "Ordinals_and_Cardinals"). * HOL/BNF: New (co)datatype package based on bounded natural functors with support for mixed, nested recursion and interesting non-free datatypes. * HOL/Finite_Set and Relation: added new set and relation operations expressed by Finite_Set.fold. * New theory HOL/Library/RBT_Set: implementation of sets by red-black trees for the code generator. * HOL/Library/RBT and HOL/Library/Mapping have been converted to Lifting/Transfer. possible INCOMPATIBILITY. * HOL/Set: renamed Set.project -> Set.filter INCOMPATIBILITY. *** Document preparation *** * Dropped legacy antiquotations "term_style" and "thm_style", since styles may be given as arguments to "term" and "thm" already. Discontinued legacy styles "prem1" .. "prem19". * Default LaTeX rendering for \ is now based on eurosym package, instead of slightly exotic babel/greek. * Document variant NAME may use different LaTeX entry point document/root_NAME.tex if that file exists, instead of the common document/root.tex. * Simplified custom document/build script, instead of old-style document/IsaMakefile. Minor INCOMPATIBILITY. *** ML *** * The default limit for maximum number of worker threads is now 8, instead of 4, in correspondence to capabilities of contemporary hardware and Poly/ML runtime system. * Type Seq.results and related operations support embedded error messages within lazy enumerations, and thus allow to provide informative errors in the absence of any usable results. * Renamed Position.str_of to Position.here to emphasize that this is a formal device to inline positions into message text, but not necessarily printing visible text. *** System *** * Advanced support for Isabelle sessions and build management, see "system" manual for the chapter of that name, especially the "isabelle build" tool and its examples. The "isabelle mkroot" tool prepares session root directories for use with "isabelle build", similar to former "isabelle mkdir" for "isabelle usedir". Note that this affects document preparation as well. INCOMPATIBILITY, isabelle usedir / mkdir / make are rendered obsolete. * Discontinued obsolete Isabelle/build script, it is superseded by the regular isabelle build tool. For example: isabelle build -s -b HOL * Discontinued obsolete "isabelle makeall". * Discontinued obsolete IsaMakefile and ROOT.ML files from the Isabelle distribution, except for rudimentary src/HOL/IsaMakefile that provides some traditional targets that invoke "isabelle build". Note that this is inefficient! Applications of Isabelle/HOL involving "isabelle make" should be upgraded to use "isabelle build" directly. * The "isabelle options" tool prints Isabelle system options, as required for "isabelle build", for example. * The "isabelle logo" tool produces EPS and PDF format simultaneously. Minor INCOMPATIBILITY in command-line options. * The "isabelle install" tool has now a simpler command-line. Minor INCOMPATIBILITY. * The "isabelle components" tool helps to resolve add-on components that are not bundled, or referenced from a bare-bones repository version of Isabelle. * Settings variable ISABELLE_PLATFORM_FAMILY refers to the general platform family: "linux", "macos", "windows". * The ML system is configured as regular component, and no longer picked up from some surrounding directory. Potential INCOMPATIBILITY for home-made settings. * Improved ML runtime statistics (heap, threads, future tasks etc.). * Discontinued support for Poly/ML 5.2.1, which was the last version without exception positions and advanced ML compiler/toplevel configuration. * Discontinued special treatment of Proof General -- no longer guess PROOFGENERAL_HOME based on accidental file-system layout. Minor INCOMPATIBILITY: provide PROOFGENERAL_HOME and PROOFGENERAL_OPTIONS settings manually, or use a Proof General version that has been bundled as Isabelle component. New in Isabelle2012 (May 2012) ------------------------------ *** General *** * Prover IDE (PIDE) improvements: - more robust Sledgehammer integration (as before the sledgehammer command-line needs to be typed into the source buffer) - markup for bound variables - markup for types of term variables (displayed as tooltips) - support for user-defined Isar commands within the running session - improved support for Unicode outside original 16bit range e.g. glyph for \ (thanks to jEdit 4.5.1) * Forward declaration of outer syntax keywords within the theory header -- minor INCOMPATIBILITY for user-defined commands. Allow new commands to be used in the same theory where defined. * Auxiliary contexts indicate block structure for specifications with additional parameters and assumptions. Such unnamed contexts may be nested within other targets, like 'theory', 'locale', 'class', 'instantiation' etc. Results from the local context are generalized accordingly and applied to the enclosing target context. Example: context fixes x y z :: 'a assumes xy: "x = y" and yz: "y = z" begin lemma my_trans: "x = z" using xy yz by simp end thm my_trans The most basic application is to factor-out context elements of several fixes/assumes/shows theorem statements, e.g. see ~~/src/HOL/Isar_Examples/Group_Context.thy Any other local theory specification element works within the "context ... begin ... end" block as well. * Bundled declarations associate attributed fact expressions with a given name in the context. These may be later included in other contexts. This allows to manage context extensions casually, without the logical dependencies of locales and locale interpretation. See commands 'bundle', 'include', 'including' etc. in the isar-ref manual. * Commands 'lemmas' and 'theorems' allow local variables using 'for' declaration, and results are standardized before being stored. Thus old-style "standard" after instantiation or composition of facts becomes obsolete. Minor INCOMPATIBILITY, due to potential change of indices of schematic variables. * Rule attributes in local theory declarations (e.g. locale or class) are now statically evaluated: the resulting theorem is stored instead of the original expression. INCOMPATIBILITY in rare situations, where the historic accident of dynamic re-evaluation in interpretations etc. was exploited. * New tutorial "Programming and Proving in Isabelle/HOL" ("prog-prove"). It completely supersedes "A Tutorial Introduction to Structured Isar Proofs" ("isar-overview"), which has been removed. It also supersedes "Isabelle/HOL, A Proof Assistant for Higher-Order Logic" as the recommended beginners tutorial, but does not cover all of the material of that old tutorial. * Updated and extended reference manuals: "isar-ref", "implementation", "system"; reduced remaining material in old "ref" manual. *** Pure *** * Command 'definition' no longer exports the foundational "raw_def" into the user context. Minor INCOMPATIBILITY, may use the regular "def" result with attribute "abs_def" to imitate the old version. * Attribute "abs_def" turns an equation of the form "f x y == t" into "f == %x y. t", which ensures that "simp" or "unfold" steps always expand it. This also works for object-logic equality. (Formerly undocumented feature.) * Sort constraints are now propagated in simultaneous statements, just like type constraints. INCOMPATIBILITY in rare situations, where distinct sorts used to be assigned accidentally. For example: lemma "P (x::'a::foo)" and "Q (y::'a::bar)" -- "now illegal" lemma "P (x::'a)" and "Q (y::'a::bar)" -- "now uniform 'a::bar instead of default sort for first occurrence (!)" * Rule composition via attribute "OF" (or ML functions OF/MRS) is more tolerant against multiple unifiers, as long as the final result is unique. (As before, rules are composed in canonical right-to-left order to accommodate newly introduced premises.) * Renamed some inner syntax categories: num ~> num_token xnum ~> xnum_token xstr ~> str_token Minor INCOMPATIBILITY. Note that in practice "num_const" or "num_position" etc. are mainly used instead (which also include position information via constraints). * Simplified configuration options for syntax ambiguity: see "syntax_ambiguity_warning" and "syntax_ambiguity_limit" in isar-ref manual. Minor INCOMPATIBILITY. * Discontinued configuration option "syntax_positions": atomic terms in parse trees are always annotated by position constraints. * Old code generator for SML and its commands 'code_module', 'code_library', 'consts_code', 'types_code' have been discontinued. Use commands of the generic code generator instead. INCOMPATIBILITY. * Redundant attribute "code_inline" has been discontinued. Use "code_unfold" instead. INCOMPATIBILITY. * Dropped attribute "code_unfold_post" in favor of the its dual "code_abbrev", which yields a common pattern in definitions like definition [code_abbrev]: "f = t" INCOMPATIBILITY. * Obsolete 'types' command has been discontinued. Use 'type_synonym' instead. INCOMPATIBILITY. * Discontinued old "prems" fact, which used to refer to the accidental collection of foundational premises in the context (already marked as legacy since Isabelle2011). *** HOL *** * Type 'a set is now a proper type constructor (just as before Isabelle2008). Definitions mem_def and Collect_def have disappeared. Non-trivial INCOMPATIBILITY. For developments keeping predicates and sets separate, it is often sufficient to rephrase some set S that has been accidentally used as predicates by "%x. x : S", and some predicate P that has been accidentally used as set by "{x. P x}". Corresponding proofs in a first step should be pruned from any tinkering with former theorems mem_def and Collect_def as far as possible. For developments which deliberately mix predicates and sets, a planning step is necessary to determine what should become a predicate and what a set. It can be helpful to carry out that step in Isabelle2011-1 before jumping right into the current release. * Code generation by default implements sets as container type rather than predicates. INCOMPATIBILITY. * New type synonym 'a rel = ('a * 'a) set * The representation of numerals has changed. Datatype "num" represents strictly positive binary numerals, along with functions "numeral :: num => 'a" and "neg_numeral :: num => 'a" to represent positive and negated numeric literals, respectively. See also definitions in ~~/src/HOL/Num.thy. Potential INCOMPATIBILITY, some user theories may require adaptations as follows: - Theorems with number_ring or number_semiring constraints: These classes are gone; use comm_ring_1 or comm_semiring_1 instead. - Theories defining numeric types: Remove number, number_semiring, and number_ring instances. Defer all theorems about numerals until after classes one and semigroup_add have been instantiated. - Numeral-only simp rules: Replace each rule having a "number_of v" pattern with two copies, one for numeral and one for neg_numeral. - Theorems about subclasses of semiring_1 or ring_1: These classes automatically support numerals now, so more simp rules and simprocs may now apply within the proof. - Definitions and theorems using old constructors Pls/Min/Bit0/Bit1: Redefine using other integer operations. * Transfer: New package intended to generalize the existing "descending" method and related theorem attributes from the Quotient package. (Not all functionality is implemented yet, but future development will focus on Transfer as an eventual replacement for the corresponding parts of the Quotient package.) - transfer_rule attribute: Maintains a collection of transfer rules, which relate constants at two different types. Transfer rules may relate different type instances of the same polymorphic constant, or they may relate an operation on a raw type to a corresponding operation on an abstract type (quotient or subtype). For example: ((A ===> B) ===> list_all2 A ===> list_all2 B) map map (cr_int ===> cr_int ===> cr_int) (%(x,y) (u,v). (x+u, y+v)) plus_int - transfer method: Replaces a subgoal on abstract types with an equivalent subgoal on the corresponding raw types. Constants are replaced with corresponding ones according to the transfer rules. Goals are generalized over all free variables by default; this is necessary for variables whose types change, but can be overridden for specific variables with e.g. "transfer fixing: x y z". The variant transfer' method allows replacing a subgoal with one that is logically stronger (rather than equivalent). - relator_eq attribute: Collects identity laws for relators of various type constructors, e.g. "list_all2 (op =) = (op =)". The transfer method uses these lemmas to infer transfer rules for non-polymorphic constants on the fly. - transfer_prover method: Assists with proving a transfer rule for a new constant, provided the constant is defined in terms of other constants that already have transfer rules. It should be applied after unfolding the constant definitions. - HOL/ex/Transfer_Int_Nat.thy: Example theory demonstrating transfer from type nat to type int. * Lifting: New package intended to generalize the quotient_definition facility of the Quotient package; designed to work with Transfer. - lift_definition command: Defines operations on an abstract type in terms of a corresponding operation on a representation type. Example syntax: lift_definition dlist_insert :: "'a => 'a dlist => 'a dlist" is List.insert Users must discharge a respectfulness proof obligation when each constant is defined. (For a type copy, i.e. a typedef with UNIV, the proof is discharged automatically.) The obligation is presented in a user-friendly, readable form; a respectfulness theorem in the standard format and a transfer rule are generated by the package. - Integration with code_abstype: For typedefs (e.g. subtypes corresponding to a datatype invariant, such as dlist), lift_definition generates a code certificate theorem and sets up code generation for each constant. - setup_lifting command: Sets up the Lifting package to work with a user-defined type. The user must provide either a quotient theorem or a type_definition theorem. The package configures transfer rules for equality and quantifiers on the type, and sets up the lift_definition command to work with the type. - Usage examples: See Quotient_Examples/Lift_DList.thy, Quotient_Examples/Lift_RBT.thy, Quotient_Examples/Lift_FSet.thy, Word/Word.thy and Library/Float.thy. * Quotient package: - The 'quotient_type' command now supports a 'morphisms' option with rep and abs functions, similar to typedef. - 'quotient_type' sets up new types to work with the Lifting and Transfer packages, as with 'setup_lifting'. - The 'quotient_definition' command now requires the user to prove a respectfulness property at the point where the constant is defined, similar to lift_definition; INCOMPATIBILITY. - Renamed predicate 'Quotient' to 'Quotient3', and renamed theorems accordingly, INCOMPATIBILITY. * New diagnostic command 'find_unused_assms' to find potentially superfluous assumptions in theorems using Quickcheck. * Quickcheck: - Quickcheck returns variable assignments as counterexamples, which allows to reveal the underspecification of functions under test. For example, refuting "hd xs = x", it presents the variable assignment xs = [] and x = a1 as a counterexample, assuming that any property is false whenever "hd []" occurs in it. These counterexample are marked as potentially spurious, as Quickcheck also returns "xs = []" as a counterexample to the obvious theorem "hd xs = hd xs". After finding a potentially spurious counterexample, Quickcheck continues searching for genuine ones. By default, Quickcheck shows potentially spurious and genuine counterexamples. The option "genuine_only" sets quickcheck to only show genuine counterexamples. - The command 'quickcheck_generator' creates random and exhaustive value generators for a given type and operations. It generates values by using the operations as if they were constructors of that type. - Support for multisets. - Added "use_subtype" options. - Added "quickcheck_locale" configuration to specify how to process conjectures in a locale context. * Nitpick: Fixed infinite loop caused by the 'peephole_optim' option and affecting 'rat' and 'real'. * Sledgehammer: - Integrated more tightly with SPASS, as described in the ITP 2012 paper "More SPASS with Isabelle". - Made it try "smt" as a fallback if "metis" fails or times out. - Added support for the following provers: Alt-Ergo (via Why3 and TFF1), iProver, iProver-Eq. - Sped up the minimizer. - Added "lam_trans", "uncurry_aliases", and "minimize" options. - Renamed "slicing" ("no_slicing") option to "slice" ("dont_slice"). - Renamed "sound" option to "strict". * Metis: Added possibility to specify lambda translations scheme as a parenthesized argument (e.g., "by (metis (lifting) ...)"). * SMT: Renamed "smt_fixed" option to "smt_read_only_certificates". * Command 'try0': Renamed from 'try_methods'. INCOMPATIBILITY. * New "case_product" attribute to generate a case rule doing multiple case distinctions at the same time. E.g. list.exhaust [case_product nat.exhaust] produces a rule which can be used to perform case distinction on both a list and a nat. * New "eventually_elim" method as a generalized variant of the eventually_elim* rules. Supports structured proofs. * Typedef with implicit set definition is considered legacy. Use "typedef (open)" form instead, which will eventually become the default. * Record: code generation can be switched off manually with declare [[record_coden = false]] -- "default true" * Datatype: type parameters allow explicit sort constraints. * Concrete syntax for case expressions includes constraints for source positions, and thus produces Prover IDE markup for its bindings. INCOMPATIBILITY for old-style syntax translations that augment the pattern notation; e.g. see src/HOL/HOLCF/One.thy for translations of one_case. * Clarified attribute "mono_set": pure declaration without modifying the result of the fact expression. * More default pred/set conversions on a couple of relation operations and predicates. Added powers of predicate relations. Consolidation of some relation theorems: converse_def ~> converse_unfold rel_comp_def ~> relcomp_unfold symp_def ~> (modified, use symp_def and sym_def instead) transp_def ~> transp_trans Domain_def ~> Domain_unfold Range_def ~> Domain_converse [symmetric] Generalized theorems INF_INT_eq, INF_INT_eq2, SUP_UN_eq, SUP_UN_eq2. See theory "Relation" for examples for making use of pred/set conversions by means of attributes "to_set" and "to_pred". INCOMPATIBILITY. * Renamed facts about the power operation on relations, i.e., relpow to match the constant's name: rel_pow_1 ~> relpow_1 rel_pow_0_I ~> relpow_0_I rel_pow_Suc_I ~> relpow_Suc_I rel_pow_Suc_I2 ~> relpow_Suc_I2 rel_pow_0_E ~> relpow_0_E rel_pow_Suc_E ~> relpow_Suc_E rel_pow_E ~> relpow_E rel_pow_Suc_D2 ~> relpow_Suc_D2 rel_pow_Suc_E2 ~> relpow_Suc_E2 rel_pow_Suc_D2' ~> relpow_Suc_D2' rel_pow_E2 ~> relpow_E2 rel_pow_add ~> relpow_add rel_pow_commute ~> relpow rel_pow_empty ~> relpow_empty: rtrancl_imp_UN_rel_pow ~> rtrancl_imp_UN_relpow rel_pow_imp_rtrancl ~> relpow_imp_rtrancl rtrancl_is_UN_rel_pow ~> rtrancl_is_UN_relpow rtrancl_imp_rel_pow ~> rtrancl_imp_relpow rel_pow_fun_conv ~> relpow_fun_conv rel_pow_finite_bounded1 ~> relpow_finite_bounded1 rel_pow_finite_bounded ~> relpow_finite_bounded rtrancl_finite_eq_rel_pow ~> rtrancl_finite_eq_relpow trancl_finite_eq_rel_pow ~> trancl_finite_eq_relpow single_valued_rel_pow ~> single_valued_relpow INCOMPATIBILITY. * Theory Relation: Consolidated constant name for relation composition and corresponding theorem names: - Renamed constant rel_comp to relcomp. - Dropped abbreviation pred_comp. Use relcompp instead. - Renamed theorems: rel_compI ~> relcompI rel_compEpair ~> relcompEpair rel_compE ~> relcompE pred_comp_rel_comp_eq ~> relcompp_relcomp_eq rel_comp_empty1 ~> relcomp_empty1 rel_comp_mono ~> relcomp_mono rel_comp_subset_Sigma ~> relcomp_subset_Sigma rel_comp_distrib ~> relcomp_distrib rel_comp_distrib2 ~> relcomp_distrib2 rel_comp_UNION_distrib ~> relcomp_UNION_distrib rel_comp_UNION_distrib2 ~> relcomp_UNION_distrib2 single_valued_rel_comp ~> single_valued_relcomp rel_comp_def ~> relcomp_unfold converse_rel_comp ~> converse_relcomp pred_compI ~> relcomppI pred_compE ~> relcomppE pred_comp_bot1 ~> relcompp_bot1 pred_comp_bot2 ~> relcompp_bot2 transp_pred_comp_less_eq ~> transp_relcompp_less_eq pred_comp_mono ~> relcompp_mono pred_comp_distrib ~> relcompp_distrib pred_comp_distrib2 ~> relcompp_distrib2 converse_pred_comp ~> converse_relcompp finite_rel_comp ~> finite_relcomp set_rel_comp ~> set_relcomp INCOMPATIBILITY. * Theory Divides: Discontinued redundant theorems about div and mod. INCOMPATIBILITY, use the corresponding generic theorems instead. DIVISION_BY_ZERO ~> div_by_0, mod_by_0 zdiv_self ~> div_self zmod_self ~> mod_self zdiv_zero ~> div_0 zmod_zero ~> mod_0 zdiv_zmod_equality ~> div_mod_equality2 zdiv_zmod_equality2 ~> div_mod_equality zmod_zdiv_trivial ~> mod_div_trivial zdiv_zminus_zminus ~> div_minus_minus zmod_zminus_zminus ~> mod_minus_minus zdiv_zminus2 ~> div_minus_right zmod_zminus2 ~> mod_minus_right zdiv_minus1_right ~> div_minus1_right zmod_minus1_right ~> mod_minus1_right zdvd_mult_div_cancel ~> dvd_mult_div_cancel zmod_zmult1_eq ~> mod_mult_right_eq zpower_zmod ~> power_mod zdvd_zmod ~> dvd_mod zdvd_zmod_imp_zdvd ~> dvd_mod_imp_dvd mod_mult_distrib ~> mult_mod_left mod_mult_distrib2 ~> mult_mod_right * Removed redundant theorems nat_mult_2 and nat_mult_2_right; use generic mult_2 and mult_2_right instead. INCOMPATIBILITY. * Finite_Set.fold now qualified. INCOMPATIBILITY. * Consolidated theorem names concerning fold combinators: inf_INFI_fold_inf ~> inf_INF_fold_inf sup_SUPR_fold_sup ~> sup_SUP_fold_sup INFI_fold_inf ~> INF_fold_inf SUPR_fold_sup ~> SUP_fold_sup union_set ~> union_set_fold minus_set ~> minus_set_fold INFI_set_fold ~> INF_set_fold SUPR_set_fold ~> SUP_set_fold INF_code ~> INF_set_foldr SUP_code ~> SUP_set_foldr foldr.simps ~> foldr.simps (in point-free formulation) foldr_fold_rev ~> foldr_conv_fold foldl_fold ~> foldl_conv_fold foldr_foldr ~> foldr_conv_foldl foldl_foldr ~> foldl_conv_foldr fold_set_remdups ~> fold_set_fold_remdups fold_set ~> fold_set_fold fold1_set ~> fold1_set_fold INCOMPATIBILITY. * Dropped rarely useful theorems concerning fold combinators: foldl_apply, foldl_fun_comm, foldl_rev, fold_weak_invariant, rev_foldl_cons, fold_set_remdups, fold_set, fold_set1, concat_conv_foldl, foldl_weak_invariant, foldl_invariant, foldr_invariant, foldl_absorb0, foldl_foldr1_lemma, foldl_foldr1, listsum_conv_fold, listsum_foldl, sort_foldl_insort, foldl_assoc, foldr_conv_foldl, start_le_sum, elem_le_sum, sum_eq_0_conv. INCOMPATIBILITY. For the common phrases "%xs. List.foldr plus xs 0" and "List.foldl plus 0", prefer "List.listsum". Otherwise it can be useful to boil down "List.foldr" and "List.foldl" to "List.fold" by unfolding "foldr_conv_fold" and "foldl_conv_fold". * Dropped lemmas minus_set_foldr, union_set_foldr, union_coset_foldr, inter_coset_foldr, Inf_fin_set_foldr, Sup_fin_set_foldr, Min_fin_set_foldr, Max_fin_set_foldr, Inf_set_foldr, Sup_set_foldr, INF_set_foldr, SUP_set_foldr. INCOMPATIBILITY. Prefer corresponding lemmas over fold rather than foldr, or make use of lemmas fold_conv_foldr and fold_rev. * Congruence rules Option.map_cong and Option.bind_cong for recursion through option types. * "Transitive_Closure.ntrancl": bounded transitive closure on relations. * Constant "Set.not_member" now qualified. INCOMPATIBILITY. * Theory Int: Discontinued many legacy theorems specific to type int. INCOMPATIBILITY, use the corresponding generic theorems instead. zminus_zminus ~> minus_minus zminus_0 ~> minus_zero zminus_zadd_distrib ~> minus_add_distrib zadd_commute ~> add_commute zadd_assoc ~> add_assoc zadd_left_commute ~> add_left_commute zadd_ac ~> add_ac zmult_ac ~> mult_ac zadd_0 ~> add_0_left zadd_0_right ~> add_0_right zadd_zminus_inverse2 ~> left_minus zmult_zminus ~> mult_minus_left zmult_commute ~> mult_commute zmult_assoc ~> mult_assoc zadd_zmult_distrib ~> left_distrib zadd_zmult_distrib2 ~> right_distrib zdiff_zmult_distrib ~> left_diff_distrib zdiff_zmult_distrib2 ~> right_diff_distrib zmult_1 ~> mult_1_left zmult_1_right ~> mult_1_right zle_refl ~> order_refl zle_trans ~> order_trans zle_antisym ~> order_antisym zle_linear ~> linorder_linear zless_linear ~> linorder_less_linear zadd_left_mono ~> add_left_mono zadd_strict_right_mono ~> add_strict_right_mono zadd_zless_mono ~> add_less_le_mono int_0_less_1 ~> zero_less_one int_0_neq_1 ~> zero_neq_one zless_le ~> less_le zpower_zadd_distrib ~> power_add zero_less_zpower_abs_iff ~> zero_less_power_abs_iff zero_le_zpower_abs ~> zero_le_power_abs * Theory Deriv: Renamed DERIV_nonneg_imp_nonincreasing ~> DERIV_nonneg_imp_nondecreasing * Theory Library/Multiset: Improved code generation of multisets. * Theory HOL/Library/Set_Algebras: Addition and multiplication on sets are expressed via type classes again. The special syntax \/\ has been replaced by plain +/*. Removed constant setsum_set, which is now subsumed by Big_Operators.setsum. INCOMPATIBILITY. * Theory HOL/Library/Diagonalize has been removed. INCOMPATIBILITY, use theory HOL/Library/Nat_Bijection instead. * Theory HOL/Library/RBT_Impl: Backing implementation of red-black trees is now inside a type class context. Names of affected operations and lemmas have been prefixed by rbt_. INCOMPATIBILITY for theories working directly with raw red-black trees, adapt the names as follows: Operations: bulkload -> rbt_bulkload del_from_left -> rbt_del_from_left del_from_right -> rbt_del_from_right del -> rbt_del delete -> rbt_delete ins -> rbt_ins insert -> rbt_insert insertw -> rbt_insert_with insert_with_key -> rbt_insert_with_key map_entry -> rbt_map_entry lookup -> rbt_lookup sorted -> rbt_sorted tree_greater -> rbt_greater tree_less -> rbt_less tree_less_symbol -> rbt_less_symbol union -> rbt_union union_with -> rbt_union_with union_with_key -> rbt_union_with_key Lemmas: balance_left_sorted -> balance_left_rbt_sorted balance_left_tree_greater -> balance_left_rbt_greater balance_left_tree_less -> balance_left_rbt_less balance_right_sorted -> balance_right_rbt_sorted balance_right_tree_greater -> balance_right_rbt_greater balance_right_tree_less -> balance_right_rbt_less balance_sorted -> balance_rbt_sorted balance_tree_greater -> balance_rbt_greater balance_tree_less -> balance_rbt_less bulkload_is_rbt -> rbt_bulkload_is_rbt combine_sorted -> combine_rbt_sorted combine_tree_greater -> combine_rbt_greater combine_tree_less -> combine_rbt_less delete_in_tree -> rbt_delete_in_tree delete_is_rbt -> rbt_delete_is_rbt del_from_left_tree_greater -> rbt_del_from_left_rbt_greater del_from_left_tree_less -> rbt_del_from_left_rbt_less del_from_right_tree_greater -> rbt_del_from_right_rbt_greater del_from_right_tree_less -> rbt_del_from_right_rbt_less del_in_tree -> rbt_del_in_tree del_inv1_inv2 -> rbt_del_inv1_inv2 del_sorted -> rbt_del_rbt_sorted del_tree_greater -> rbt_del_rbt_greater del_tree_less -> rbt_del_rbt_less dom_lookup_Branch -> dom_rbt_lookup_Branch entries_lookup -> entries_rbt_lookup finite_dom_lookup -> finite_dom_rbt_lookup insert_sorted -> rbt_insert_rbt_sorted insertw_is_rbt -> rbt_insertw_is_rbt insertwk_is_rbt -> rbt_insertwk_is_rbt insertwk_sorted -> rbt_insertwk_rbt_sorted insertw_sorted -> rbt_insertw_rbt_sorted ins_sorted -> ins_rbt_sorted ins_tree_greater -> ins_rbt_greater ins_tree_less -> ins_rbt_less is_rbt_sorted -> is_rbt_rbt_sorted lookup_balance -> rbt_lookup_balance lookup_bulkload -> rbt_lookup_rbt_bulkload lookup_delete -> rbt_lookup_rbt_delete lookup_Empty -> rbt_lookup_Empty lookup_from_in_tree -> rbt_lookup_from_in_tree lookup_in_tree -> rbt_lookup_in_tree lookup_ins -> rbt_lookup_ins lookup_insert -> rbt_lookup_rbt_insert lookup_insertw -> rbt_lookup_rbt_insertw lookup_insertwk -> rbt_lookup_rbt_insertwk lookup_keys -> rbt_lookup_keys lookup_map -> rbt_lookup_map lookup_map_entry -> rbt_lookup_rbt_map_entry lookup_tree_greater -> rbt_lookup_rbt_greater lookup_tree_less -> rbt_lookup_rbt_less lookup_union -> rbt_lookup_rbt_union map_entry_color_of -> rbt_map_entry_color_of map_entry_inv1 -> rbt_map_entry_inv1 map_entry_inv2 -> rbt_map_entry_inv2 map_entry_is_rbt -> rbt_map_entry_is_rbt map_entry_sorted -> rbt_map_entry_rbt_sorted map_entry_tree_greater -> rbt_map_entry_rbt_greater map_entry_tree_less -> rbt_map_entry_rbt_less map_tree_greater -> map_rbt_greater map_tree_less -> map_rbt_less map_sorted -> map_rbt_sorted paint_sorted -> paint_rbt_sorted paint_lookup -> paint_rbt_lookup paint_tree_greater -> paint_rbt_greater paint_tree_less -> paint_rbt_less sorted_entries -> rbt_sorted_entries tree_greater_eq_trans -> rbt_greater_eq_trans tree_greater_nit -> rbt_greater_nit tree_greater_prop -> rbt_greater_prop tree_greater_simps -> rbt_greater_simps tree_greater_trans -> rbt_greater_trans tree_less_eq_trans -> rbt_less_eq_trans tree_less_nit -> rbt_less_nit tree_less_prop -> rbt_less_prop tree_less_simps -> rbt_less_simps tree_less_trans -> rbt_less_trans tree_ord_props -> rbt_ord_props union_Branch -> rbt_union_Branch union_is_rbt -> rbt_union_is_rbt unionw_is_rbt -> rbt_unionw_is_rbt unionwk_is_rbt -> rbt_unionwk_is_rbt unionwk_sorted -> rbt_unionwk_rbt_sorted * Theory HOL/Library/Float: Floating point numbers are now defined as a subset of the real numbers. All operations are defined using the lifing-framework and proofs use the transfer method. INCOMPATIBILITY. Changed Operations: float_abs -> abs float_nprt -> nprt float_pprt -> pprt pow2 -> use powr round_down -> float_round_down round_up -> float_round_up scale -> exponent Removed Operations: ceiling_fl, lb_mult, lb_mod, ub_mult, ub_mod Renamed Lemmas: abs_float_def -> Float.compute_float_abs bitlen_ge0 -> bitlen_nonneg bitlen.simps -> Float.compute_bitlen float_components -> Float_mantissa_exponent float_divl.simps -> Float.compute_float_divl float_divr.simps -> Float.compute_float_divr float_eq_odd -> mult_powr_eq_mult_powr_iff float_power -> real_of_float_power lapprox_posrat_def -> Float.compute_lapprox_posrat lapprox_rat.simps -> Float.compute_lapprox_rat le_float_def' -> Float.compute_float_le le_float_def -> less_eq_float.rep_eq less_float_def' -> Float.compute_float_less less_float_def -> less_float.rep_eq normfloat_def -> Float.compute_normfloat normfloat_imp_odd_or_zero -> mantissa_not_dvd and mantissa_noteq_0 normfloat -> normfloat_def normfloat_unique -> use normfloat_def number_of_float_Float -> Float.compute_float_numeral, Float.compute_float_neg_numeral one_float_def -> Float.compute_float_one plus_float_def -> Float.compute_float_plus rapprox_posrat_def -> Float.compute_rapprox_posrat rapprox_rat.simps -> Float.compute_rapprox_rat real_of_float_0 -> zero_float.rep_eq real_of_float_1 -> one_float.rep_eq real_of_float_abs -> abs_float.rep_eq real_of_float_add -> plus_float.rep_eq real_of_float_minus -> uminus_float.rep_eq real_of_float_mult -> times_float.rep_eq real_of_float_simp -> Float.rep_eq real_of_float_sub -> minus_float.rep_eq round_down.simps -> Float.compute_float_round_down round_up.simps -> Float.compute_float_round_up times_float_def -> Float.compute_float_times uminus_float_def -> Float.compute_float_uminus zero_float_def -> Float.compute_float_zero Lemmas not necessary anymore, use the transfer method: bitlen_B0, bitlen_B1, bitlen_ge1, bitlen_Min, bitlen_Pls, float_divl, float_divr, float_le_simp, float_less1_mantissa_bound, float_less_simp, float_less_zero, float_le_zero, float_pos_less1_e_neg, float_pos_m_pos, float_split, float_split2, floor_pos_exp, lapprox_posrat, lapprox_posrat_bottom, lapprox_rat, lapprox_rat_bottom, normalized_float, rapprox_posrat, rapprox_posrat_le1, rapprox_rat, real_of_float_ge0_exp, real_of_float_neg_exp, real_of_float_nge0_exp, round_down floor_fl, round_up, zero_le_float, zero_less_float * New theory HOL/Library/DAList provides an abstract type for association lists with distinct keys. * Session HOL/IMP: Added new theory of abstract interpretation of annotated commands. * Session HOL-Import: Re-implementation from scratch is faster, simpler, and more scalable. Requires a proof bundle, which is available as an external component. Discontinued old (and mostly dead) Importer for HOL4 and HOL Light. INCOMPATIBILITY. * Session HOL-Word: Discontinued many redundant theorems specific to type 'a word. INCOMPATIBILITY, use the corresponding generic theorems instead. word_sub_alt ~> word_sub_wi word_add_alt ~> word_add_def word_mult_alt ~> word_mult_def word_minus_alt ~> word_minus_def word_0_alt ~> word_0_wi word_1_alt ~> word_1_wi word_add_0 ~> add_0_left word_add_0_right ~> add_0_right word_mult_1 ~> mult_1_left word_mult_1_right ~> mult_1_right word_add_commute ~> add_commute word_add_assoc ~> add_assoc word_add_left_commute ~> add_left_commute word_mult_commute ~> mult_commute word_mult_assoc ~> mult_assoc word_mult_left_commute ~> mult_left_commute word_left_distrib ~> left_distrib word_right_distrib ~> right_distrib word_left_minus ~> left_minus word_diff_0_right ~> diff_0_right word_diff_self ~> diff_self word_sub_def ~> diff_minus word_diff_minus ~> diff_minus word_add_ac ~> add_ac word_mult_ac ~> mult_ac word_plus_ac0 ~> add_0_left add_0_right add_ac word_times_ac1 ~> mult_1_left mult_1_right mult_ac word_order_trans ~> order_trans word_order_refl ~> order_refl word_order_antisym ~> order_antisym word_order_linear ~> linorder_linear lenw1_zero_neq_one ~> zero_neq_one word_number_of_eq ~> number_of_eq word_of_int_add_hom ~> wi_hom_add word_of_int_sub_hom ~> wi_hom_sub word_of_int_mult_hom ~> wi_hom_mult word_of_int_minus_hom ~> wi_hom_neg word_of_int_succ_hom ~> wi_hom_succ word_of_int_pred_hom ~> wi_hom_pred word_of_int_0_hom ~> word_0_wi word_of_int_1_hom ~> word_1_wi * Session HOL-Word: New proof method "word_bitwise" for splitting machine word equalities and inequalities into logical circuits, defined in HOL/Word/WordBitwise.thy. Supports addition, subtraction, multiplication, shifting by constants, bitwise operators and numeric constants. Requires fixed-length word types, not 'a word. Solves many standard word identities outright and converts more into first order problems amenable to blast or similar. See also examples in HOL/Word/Examples/WordExamples.thy. * Session HOL-Probability: Introduced the type "'a measure" to represent measures, this replaces the records 'a algebra and 'a measure_space. The locales based on subset_class now have two locale-parameters the space \ and the set of measurable sets M. The product of probability spaces uses now the same constant as the finite product of sigma-finite measure spaces "PiM :: ('i => 'a) measure". Most constants are defined now outside of locales and gain an additional parameter, like null_sets, almost_eventually or \'. Measure space constructions for distributions and densities now got their own constants distr and density. Instead of using locales to describe measure spaces with a finite space, the measure count_space and point_measure is introduced. INCOMPATIBILITY. Renamed constants: measure -> emeasure finite_measure.\' -> measure product_algebra_generator -> prod_algebra product_prob_space.emb -> prod_emb product_prob_space.infprod_algebra -> PiM Removed locales: completeable_measure_space finite_measure_space finite_prob_space finite_product_finite_prob_space finite_product_sigma_algebra finite_sigma_algebra measure_space pair_finite_prob_space pair_finite_sigma_algebra pair_finite_space pair_sigma_algebra product_sigma_algebra Removed constants: conditional_space distribution -> use distr measure, or distributed predicate image_space joint_distribution -> use distr measure, or distributed predicate pair_measure_generator product_prob_space.infprod_algebra -> use PiM subvimage Replacement theorems: finite_additivity_sufficient -> ring_of_sets.countably_additiveI_finite finite_measure.empty_measure -> measure_empty finite_measure.finite_continuity_from_above -> finite_measure.finite_Lim_measure_decseq finite_measure.finite_continuity_from_below -> finite_measure.finite_Lim_measure_incseq finite_measure.finite_measure_countably_subadditive -> finite_measure.finite_measure_subadditive_countably finite_measure.finite_measure_eq -> finite_measure.emeasure_eq_measure finite_measure.finite_measure -> finite_measure.emeasure_finite finite_measure.finite_measure_finite_singleton -> finite_measure.finite_measure_eq_setsum_singleton finite_measure.positive_measure' -> measure_nonneg finite_measure.real_measure -> finite_measure.emeasure_real finite_product_prob_space.finite_measure_times -> finite_product_prob_space.finite_measure_PiM_emb finite_product_sigma_algebra.in_P -> sets_PiM_I_finite finite_product_sigma_algebra.P_empty -> space_PiM_empty, sets_PiM_empty information_space.conditional_entropy_eq -> information_space.conditional_entropy_simple_distributed information_space.conditional_entropy_positive -> information_space.conditional_entropy_nonneg_simple information_space.conditional_mutual_information_eq_mutual_information -> information_space.conditional_mutual_information_eq_mutual_information_simple information_space.conditional_mutual_information_generic_positive -> information_space.conditional_mutual_information_nonneg_simple information_space.conditional_mutual_information_positive -> information_space.conditional_mutual_information_nonneg_simple information_space.entropy_commute -> information_space.entropy_commute_simple information_space.entropy_eq -> information_space.entropy_simple_distributed information_space.entropy_generic_eq -> information_space.entropy_simple_distributed information_space.entropy_positive -> information_space.entropy_nonneg_simple information_space.entropy_uniform_max -> information_space.entropy_uniform information_space.KL_eq_0_imp -> information_space.KL_eq_0_iff_eq information_space.KL_eq_0 -> information_space.KL_same_eq_0 information_space.KL_ge_0 -> information_space.KL_nonneg information_space.mutual_information_eq -> information_space.mutual_information_simple_distributed information_space.mutual_information_positive -> information_space.mutual_information_nonneg_simple Int_stable_cuboids -> Int_stable_atLeastAtMost Int_stable_product_algebra_generator -> positive_integral measure_preserving -> equality "distr M N f = N" "f : measurable M N" measure_space.additive -> emeasure_additive measure_space.AE_iff_null_set -> AE_iff_null measure_space.almost_everywhere_def -> eventually_ae_filter measure_space.almost_everywhere_vimage -> AE_distrD measure_space.continuity_from_above -> INF_emeasure_decseq measure_space.continuity_from_above_Lim -> Lim_emeasure_decseq measure_space.continuity_from_below_Lim -> Lim_emeasure_incseq measure_space.continuity_from_below -> SUP_emeasure_incseq measure_space_density -> emeasure_density measure_space.density_is_absolutely_continuous -> absolutely_continuousI_density measure_space.integrable_vimage -> integrable_distr measure_space.integral_translated_density -> integral_density measure_space.integral_vimage -> integral_distr measure_space.measure_additive -> plus_emeasure measure_space.measure_compl -> emeasure_compl measure_space.measure_countable_increasing -> emeasure_countable_increasing measure_space.measure_countably_subadditive -> emeasure_subadditive_countably measure_space.measure_decseq -> decseq_emeasure measure_space.measure_Diff -> emeasure_Diff measure_space.measure_Diff_null_set -> emeasure_Diff_null_set measure_space.measure_eq_0 -> emeasure_eq_0 measure_space.measure_finitely_subadditive -> emeasure_subadditive_finite measure_space.measure_finite_singleton -> emeasure_eq_setsum_singleton measure_space.measure_incseq -> incseq_emeasure measure_space.measure_insert -> emeasure_insert measure_space.measure_mono -> emeasure_mono measure_space.measure_not_negative -> emeasure_not_MInf measure_space.measure_preserving_Int_stable -> measure_eqI_generator_eq measure_space.measure_setsum -> setsum_emeasure measure_space.measure_setsum_split -> setsum_emeasure_cover measure_space.measure_space_vimage -> emeasure_distr measure_space.measure_subadditive_finite -> emeasure_subadditive_finite measure_space.measure_subadditive -> subadditive measure_space.measure_top -> emeasure_space measure_space.measure_UN_eq_0 -> emeasure_UN_eq_0 measure_space.measure_Un_null_set -> emeasure_Un_null_set measure_space.positive_integral_translated_density -> positive_integral_density measure_space.positive_integral_vimage -> positive_integral_distr measure_space.real_continuity_from_above -> Lim_measure_decseq measure_space.real_continuity_from_below -> Lim_measure_incseq measure_space.real_measure_countably_subadditive -> measure_subadditive_countably measure_space.real_measure_Diff -> measure_Diff measure_space.real_measure_finite_Union -> measure_finite_Union measure_space.real_measure_setsum_singleton -> measure_eq_setsum_singleton measure_space.real_measure_subadditive -> measure_subadditive measure_space.real_measure_Union -> measure_Union measure_space.real_measure_UNION -> measure_UNION measure_space.simple_function_vimage -> simple_function_comp measure_space.simple_integral_vimage -> simple_integral_distr measure_space.simple_integral_vimage -> simple_integral_distr measure_unique_Int_stable -> measure_eqI_generator_eq measure_unique_Int_stable_vimage -> measure_eqI_generator_eq pair_sigma_algebra.measurable_cut_fst -> sets_Pair1 pair_sigma_algebra.measurable_cut_snd -> sets_Pair2 pair_sigma_algebra.measurable_pair_image_fst -> measurable_Pair1 pair_sigma_algebra.measurable_pair_image_snd -> measurable_Pair2 pair_sigma_algebra.measurable_product_swap -> measurable_pair_swap_iff pair_sigma_algebra.pair_sigma_algebra_measurable -> measurable_pair_swap pair_sigma_algebra.pair_sigma_algebra_swap_measurable -> measurable_pair_swap' pair_sigma_algebra.sets_swap -> sets_pair_swap pair_sigma_finite.measure_cut_measurable_fst -> pair_sigma_finite.measurable_emeasure_Pair1 pair_sigma_finite.measure_cut_measurable_snd -> pair_sigma_finite.measurable_emeasure_Pair2 pair_sigma_finite.measure_preserving_swap -> pair_sigma_finite.distr_pair_swap pair_sigma_finite.pair_measure_alt2 -> pair_sigma_finite.emeasure_pair_measure_alt2 pair_sigma_finite.pair_measure_alt -> pair_sigma_finite.emeasure_pair_measure_alt pair_sigma_finite.pair_measure_times -> pair_sigma_finite.emeasure_pair_measure_Times prob_space.indep_distribution_eq_measure -> prob_space.indep_vars_iff_distr_eq_PiM prob_space.indep_var_distributionD -> prob_space.indep_var_distribution_eq prob_space.measure_space_1 -> prob_space.emeasure_space_1 prob_space.prob_space_vimage -> prob_space_distr prob_space.random_variable_restrict -> measurable_restrict prob_space_unique_Int_stable -> measure_eqI_prob_space product_algebraE -> prod_algebraE_all product_algebra_generator_der -> prod_algebra_eq_finite product_algebra_generator_into_space -> prod_algebra_sets_into_space product_algebraI -> sets_PiM_I_finite product_measure_exists -> product_sigma_finite.sigma_finite product_prob_space.finite_index_eq_finite_product -> product_prob_space.sets_PiM_generator product_prob_space.finite_measure_infprod_emb_Pi -> product_prob_space.measure_PiM_emb product_prob_space.infprod_spec -> product_prob_space.emeasure_PiM_emb_not_empty product_prob_space.measurable_component -> measurable_component_singleton product_prob_space.measurable_emb -> measurable_prod_emb product_prob_space.measurable_into_infprod_algebra -> measurable_PiM_single product_prob_space.measurable_singleton_infprod -> measurable_component_singleton product_prob_space.measure_emb -> emeasure_prod_emb product_prob_space.measure_preserving_restrict -> product_prob_space.distr_restrict product_sigma_algebra.product_algebra_into_space -> space_closed product_sigma_finite.measure_fold -> product_sigma_finite.distr_merge product_sigma_finite.measure_preserving_component_singelton -> product_sigma_finite.distr_singleton product_sigma_finite.measure_preserving_merge -> product_sigma_finite.distr_merge sequence_space.measure_infprod -> sequence_space.measure_PiM_countable sets_product_algebra -> sets_PiM sigma_algebra.measurable_sigma -> measurable_measure_of sigma_finite_measure.disjoint_sigma_finite -> sigma_finite_disjoint sigma_finite_measure.RN_deriv_vimage -> sigma_finite_measure.RN_deriv_distr sigma_product_algebra_sigma_eq -> sigma_prod_algebra_sigma_eq space_product_algebra -> space_PiM * Session HOL-TPTP: support to parse and import TPTP problems (all languages) into Isabelle/HOL. *** FOL *** * New "case_product" attribute (see HOL). *** ZF *** * Greater support for structured proofs involving induction or case analysis. * Much greater use of mathematical symbols. * Removal of many ML theorem bindings. INCOMPATIBILITY. *** ML *** * Antiquotation @{keyword "name"} produces a parser for outer syntax from a minor keyword introduced via theory header declaration. * Antiquotation @{command_spec "name"} produces the Outer_Syntax.command_spec from a major keyword introduced via theory header declaration; it can be passed to Outer_Syntax.command etc. * Local_Theory.define no longer hard-wires default theorem name "foo_def", but retains the binding as given. If that is Binding.empty / Attrib.empty_binding, the result is not registered as user-level fact. The Local_Theory.define_internal variant allows to specify a non-empty name (used for the foundation in the background theory), while omitting the fact binding in the user-context. Potential INCOMPATIBILITY for derived definitional packages: need to specify naming policy for primitive definitions more explicitly. * Renamed Thm.capply to Thm.apply, and Thm.cabs to Thm.lambda in conformance with similar operations in structure Term and Logic. * Antiquotation @{attributes [...]} embeds attribute source representation into the ML text, which is particularly useful with declarations like Local_Theory.note. * Structure Proof_Context follows standard naming scheme. Old ProofContext has been discontinued. INCOMPATIBILITY. * Refined Local_Theory.declaration {syntax, pervasive}, with subtle change of semantics: update is applied to auxiliary local theory context as well. * Modernized some old-style infix operations: addeqcongs ~> Simplifier.add_eqcong deleqcongs ~> Simplifier.del_eqcong addcongs ~> Simplifier.add_cong delcongs ~> Simplifier.del_cong setmksimps ~> Simplifier.set_mksimps setmkcong ~> Simplifier.set_mkcong setmksym ~> Simplifier.set_mksym setmkeqTrue ~> Simplifier.set_mkeqTrue settermless ~> Simplifier.set_termless setsubgoaler ~> Simplifier.set_subgoaler addsplits ~> Splitter.add_split delsplits ~> Splitter.del_split *** System *** * USER_HOME settings variable points to cross-platform user home directory, which coincides with HOME on POSIX systems only. Likewise, the Isabelle path specification "~" now expands to $USER_HOME, instead of former $HOME. A different default for USER_HOME may be set explicitly in shell environment, before Isabelle settings are evaluated. Minor INCOMPATIBILITY: need to adapt Isabelle path where the generic user home was intended. * ISABELLE_HOME_WINDOWS refers to ISABELLE_HOME in windows file name notation, which is useful for the jEdit file browser, for example. * ISABELLE_JDK_HOME settings variable points to JDK with javac and jar (not just JRE). New in Isabelle2011-1 (October 2011) ------------------------------------ *** General *** * Improved Isabelle/jEdit Prover IDE (PIDE), which can be invoked as "isabelle jedit" or "ISABELLE_HOME/Isabelle" on the command line. - Management of multiple theory files directly from the editor buffer store -- bypassing the file-system (no requirement to save files for checking). - Markup of formal entities within the text buffer, with semantic highlighting, tooltips and hyperlinks to jump to defining source positions. - Improved text rendering, with sub/superscripts in the source buffer (including support for copy/paste wrt. output panel, HTML theory output and other non-Isabelle text boxes). - Refined scheduling of proof checking and printing of results, based on interactive editor view. (Note: jEdit folding and narrowing allows to restrict buffer perspectives explicitly.) - Reduced CPU performance requirements, usable on machines with few cores. - Reduced memory requirements due to pruning of unused document versions (garbage collection). See also ~~/src/Tools/jEdit/README.html for further information, including some remaining limitations. * Theory loader: source files are exclusively located via the master directory of each theory node (where the .thy file itself resides). The global load path (such as src/HOL/Library) has been discontinued. Note that the path element ~~ may be used to reference theories in the Isabelle home folder -- for instance, "~~/src/HOL/Library/FuncSet". INCOMPATIBILITY. * Theory loader: source files are identified by content via SHA1 digests. Discontinued former path/modtime identification and optional ISABELLE_FILE_IDENT plugin scripts. * Parallelization of nested Isar proofs is subject to Goal.parallel_proofs_threshold (default 100). See also isabelle usedir option -Q. * Name space: former unsynchronized references are now proper configuration options, with more conventional names: long_names ~> names_long short_names ~> names_short unique_names ~> names_unique Minor INCOMPATIBILITY, need to declare options in context like this: declare [[names_unique = false]] * Literal facts `prop` may contain dummy patterns, e.g. `_ = _`. Note that the result needs to be unique, which means fact specifications may have to be refined after enriching a proof context. * Attribute "case_names" has been refined: the assumptions in each case can be named now by following the case name with [name1 name2 ...]. * Isabelle/Isar reference manual has been updated and extended: - "Synopsis" provides a catalog of main Isar language concepts. - Formal references in syntax diagrams, via @{rail} antiquotation. - Updated material from classic "ref" manual, notably about "Classical Reasoner". *** HOL *** * Class bot and top require underlying partial order rather than preorder: uniqueness of bot and top is guaranteed. INCOMPATIBILITY. * Class complete_lattice: generalized a couple of lemmas from sets; generalized theorems INF_cong and SUP_cong. New type classes for complete boolean algebras and complete linear orders. Lemmas Inf_less_iff, less_Sup_iff, INF_less_iff, less_SUP_iff now reside in class complete_linorder. Changed proposition of lemmas Inf_bool_def, Sup_bool_def, Inf_fun_def, Sup_fun_def, Inf_apply, Sup_apply. Removed redundant lemmas (the right hand side gives hints how to replace them for (metis ...), or (simp only: ...) proofs): Inf_singleton ~> Inf_insert [where A="{}", unfolded Inf_empty inf_top_right] Sup_singleton ~> Sup_insert [where A="{}", unfolded Sup_empty sup_bot_right] Inf_binary ~> Inf_insert, Inf_empty, and inf_top_right Sup_binary ~> Sup_insert, Sup_empty, and sup_bot_right Int_eq_Inter ~> Inf_insert, Inf_empty, and inf_top_right Un_eq_Union ~> Sup_insert, Sup_empty, and sup_bot_right Inter_def ~> INF_def, image_def Union_def ~> SUP_def, image_def INT_eq ~> INF_def, and image_def UN_eq ~> SUP_def, and image_def INF_subset ~> INF_superset_mono [OF _ order_refl] More consistent and comprehensive names: INTER_eq_Inter_image ~> INF_def UNION_eq_Union_image ~> SUP_def INFI_def ~> INF_def SUPR_def ~> SUP_def INF_leI ~> INF_lower INF_leI2 ~> INF_lower2 le_INFI ~> INF_greatest le_SUPI ~> SUP_upper le_SUPI2 ~> SUP_upper2 SUP_leI ~> SUP_least INFI_bool_eq ~> INF_bool_eq SUPR_bool_eq ~> SUP_bool_eq INFI_apply ~> INF_apply SUPR_apply ~> SUP_apply INTER_def ~> INTER_eq UNION_def ~> UNION_eq INCOMPATIBILITY. * Renamed theory Complete_Lattice to Complete_Lattices. INCOMPATIBILITY. * Theory Complete_Lattices: lemmas Inf_eq_top_iff, INF_eq_top_iff, INF_image, Inf_insert, INF_top, Inf_top_conv, INF_top_conv, SUP_bot, Sup_bot_conv, SUP_bot_conv, Sup_eq_top_iff, SUP_eq_top_iff, SUP_image, Sup_insert are now declared as [simp]. INCOMPATIBILITY. * Theory Lattice: lemmas compl_inf_bot, compl_le_comp_iff, compl_sup_top, inf_idem, inf_left_idem, inf_sup_absorb, sup_idem, sup_inf_absob, sup_left_idem are now declared as [simp]. Minor INCOMPATIBILITY. * Added syntactic classes "inf" and "sup" for the respective constants. INCOMPATIBILITY: Changes in the argument order of the (mostly internal) locale predicates for some derived classes. * Theorem collections ball_simps and bex_simps do not contain theorems referring to UNION any longer; these have been moved to collection UN_ball_bex_simps. INCOMPATIBILITY. * Theory Archimedean_Field: floor now is defined as parameter of a separate type class floor_ceiling. * Theory Finite_Set: more coherent development of fold_set locales: locale fun_left_comm ~> locale comp_fun_commute locale fun_left_comm_idem ~> locale comp_fun_idem Both use point-free characterization; interpretation proofs may need adjustment. INCOMPATIBILITY. * Theory Limits: Type "'a net" has been renamed to "'a filter", in accordance with standard mathematical terminology. INCOMPATIBILITY. * Theory Complex_Main: The locale interpretations for the bounded_linear and bounded_bilinear locales have been removed, in order to reduce the number of duplicate lemmas. Users must use the original names for distributivity theorems, potential INCOMPATIBILITY. divide.add ~> add_divide_distrib divide.diff ~> diff_divide_distrib divide.setsum ~> setsum_divide_distrib mult.add_right ~> right_distrib mult.diff_right ~> right_diff_distrib mult_right.setsum ~> setsum_right_distrib mult_left.diff ~> left_diff_distrib * Theory Complex_Main: Several redundant theorems have been removed or replaced by more general versions. INCOMPATIBILITY. real_diff_def ~> minus_real_def real_divide_def ~> divide_real_def real_less_def ~> less_le real_abs_def ~> abs_real_def real_sgn_def ~> sgn_real_def real_mult_commute ~> mult_commute real_mult_assoc ~> mult_assoc real_mult_1 ~> mult_1_left real_add_mult_distrib ~> left_distrib real_zero_not_eq_one ~> zero_neq_one real_mult_inverse_left ~> left_inverse INVERSE_ZERO ~> inverse_zero real_le_refl ~> order_refl real_le_antisym ~> order_antisym real_le_trans ~> order_trans real_le_linear ~> linear real_le_eq_diff ~> le_iff_diff_le_0 real_add_left_mono ~> add_left_mono real_mult_order ~> mult_pos_pos real_mult_less_mono2 ~> mult_strict_left_mono real_of_int_real_of_nat ~> real_of_int_of_nat_eq real_0_le_divide_iff ~> zero_le_divide_iff realpow_two_disj ~> power2_eq_iff real_squared_diff_one_factored ~> square_diff_one_factored realpow_two_diff ~> square_diff_square_factored reals_complete2 ~> complete_real real_sum_squared_expand ~> power2_sum exp_ln_eq ~> ln_unique expi_add ~> exp_add expi_zero ~> exp_zero lemma_DERIV_subst ~> DERIV_cong LIMSEQ_Zfun_iff ~> tendsto_Zfun_iff LIMSEQ_const ~> tendsto_const LIMSEQ_norm ~> tendsto_norm LIMSEQ_add ~> tendsto_add LIMSEQ_minus ~> tendsto_minus LIMSEQ_minus_cancel ~> tendsto_minus_cancel LIMSEQ_diff ~> tendsto_diff bounded_linear.LIMSEQ ~> bounded_linear.tendsto bounded_bilinear.LIMSEQ ~> bounded_bilinear.tendsto LIMSEQ_mult ~> tendsto_mult LIMSEQ_inverse ~> tendsto_inverse LIMSEQ_divide ~> tendsto_divide LIMSEQ_pow ~> tendsto_power LIMSEQ_setsum ~> tendsto_setsum LIMSEQ_setprod ~> tendsto_setprod LIMSEQ_norm_zero ~> tendsto_norm_zero_iff LIMSEQ_rabs_zero ~> tendsto_rabs_zero_iff LIMSEQ_imp_rabs ~> tendsto_rabs LIMSEQ_add_minus ~> tendsto_add [OF _ tendsto_minus] LIMSEQ_add_const ~> tendsto_add [OF _ tendsto_const] LIMSEQ_diff_const ~> tendsto_diff [OF _ tendsto_const] LIMSEQ_Complex ~> tendsto_Complex LIM_ident ~> tendsto_ident_at LIM_const ~> tendsto_const LIM_add ~> tendsto_add LIM_add_zero ~> tendsto_add_zero LIM_minus ~> tendsto_minus LIM_diff ~> tendsto_diff LIM_norm ~> tendsto_norm LIM_norm_zero ~> tendsto_norm_zero LIM_norm_zero_cancel ~> tendsto_norm_zero_cancel LIM_norm_zero_iff ~> tendsto_norm_zero_iff LIM_rabs ~> tendsto_rabs LIM_rabs_zero ~> tendsto_rabs_zero LIM_rabs_zero_cancel ~> tendsto_rabs_zero_cancel LIM_rabs_zero_iff ~> tendsto_rabs_zero_iff LIM_compose ~> tendsto_compose LIM_mult ~> tendsto_mult LIM_scaleR ~> tendsto_scaleR LIM_of_real ~> tendsto_of_real LIM_power ~> tendsto_power LIM_inverse ~> tendsto_inverse LIM_sgn ~> tendsto_sgn isCont_LIM_compose ~> isCont_tendsto_compose bounded_linear.LIM ~> bounded_linear.tendsto bounded_linear.LIM_zero ~> bounded_linear.tendsto_zero bounded_bilinear.LIM ~> bounded_bilinear.tendsto bounded_bilinear.LIM_prod_zero ~> bounded_bilinear.tendsto_zero bounded_bilinear.LIM_left_zero ~> bounded_bilinear.tendsto_left_zero bounded_bilinear.LIM_right_zero ~> bounded_bilinear.tendsto_right_zero LIM_inverse_fun ~> tendsto_inverse [OF tendsto_ident_at] * Theory Complex_Main: The definition of infinite series was generalized. Now it is defined on the type class {topological_space, comm_monoid_add}. Hence it is useable also for extended real numbers. * Theory Complex_Main: The complex exponential function "expi" is now a type-constrained abbreviation for "exp :: complex => complex"; thus several polymorphic lemmas about "exp" are now applicable to "expi". * Code generation: - Theory Library/Code_Char_ord provides native ordering of characters in the target language. - Commands code_module and code_library are legacy, use export_code instead. - Method "evaluation" is legacy, use method "eval" instead. - Legacy evaluator "SML" is deactivated by default. May be reactivated by the following theory command: setup {* Value.add_evaluator ("SML", Codegen.eval_term) *} * Declare ext [intro] by default. Rare INCOMPATIBILITY. * New proof method "induction" that gives induction hypotheses the name "IH", thus distinguishing them from further hypotheses that come from rule induction. The latter are still called "hyps". Method "induction" is a thin wrapper around "induct" and follows the same syntax. * Method "fastsimp" has been renamed to "fastforce", but "fastsimp" is still available as a legacy feature for some time. * Nitpick: - Added "need" and "total_consts" options. - Reintroduced "show_skolems" option by popular demand. - Renamed attribute: nitpick_def ~> nitpick_unfold. INCOMPATIBILITY. * Sledgehammer: - Use quasi-sound (and efficient) translations by default. - Added support for the following provers: E-ToFoF, LEO-II, Satallax, SNARK, Waldmeister, and Z3 with TPTP syntax. - Automatically preplay and minimize proofs before showing them if this can be done within reasonable time. - sledgehammer available_provers ~> sledgehammer supported_provers. INCOMPATIBILITY. - Added "preplay_timeout", "slicing", "type_enc", "sound", "max_mono_iters", and "max_new_mono_instances" options. - Removed "explicit_apply" and "full_types" options as well as "Full Types" Proof General menu item. INCOMPATIBILITY. * Metis: - Removed "metisF" -- use "metis" instead. INCOMPATIBILITY. - Obsoleted "metisFT" -- use "metis (full_types)" instead. INCOMPATIBILITY. * Command 'try': - Renamed 'try_methods' and added "simp:", "intro:", "dest:", and "elim:" options. INCOMPATIBILITY. - Introduced 'try' that not only runs 'try_methods' but also 'solve_direct', 'sledgehammer', 'quickcheck', and 'nitpick'. * Quickcheck: - Added "eval" option to evaluate terms for the found counterexample (currently only supported by the default (exhaustive) tester). - Added post-processing of terms to obtain readable counterexamples (currently only supported by the default (exhaustive) tester). - New counterexample generator quickcheck[narrowing] enables narrowing-based testing. Requires the Glasgow Haskell compiler with its installation location defined in the Isabelle settings environment as ISABELLE_GHC. - Removed quickcheck tester "SML" based on the SML code generator (formly in HOL/Library). * Function package: discontinued option "tailrec". INCOMPATIBILITY, use 'partial_function' instead. * Theory Library/Extended_Reals replaces now the positive extended reals found in probability theory. This file is extended by Multivariate_Analysis/Extended_Real_Limits. * Theory Library/Old_Recdef: old 'recdef' package has been moved here, from where it must be imported explicitly if it is really required. INCOMPATIBILITY. * Theory Library/Wfrec: well-founded recursion combinator "wfrec" has been moved here. INCOMPATIBILITY. * Theory Library/Saturated provides type of numbers with saturated arithmetic. * Theory Library/Product_Lattice defines a pointwise ordering for the product type 'a * 'b, and provides instance proofs for various order and lattice type classes. * Theory Library/Countable now provides the "countable_datatype" proof method for proving "countable" class instances for datatypes. * Theory Library/Cset_Monad allows do notation for computable sets (cset) via the generic monad ad-hoc overloading facility. * Library: Theories of common data structures are split into theories for implementation, an invariant-ensuring type, and connection to an abstract type. INCOMPATIBILITY. - RBT is split into RBT and RBT_Mapping. - AssocList is split and renamed into AList and AList_Mapping. - DList is split into DList_Impl, DList, and DList_Cset. - Cset is split into Cset and List_Cset. * Theory Library/Nat_Infinity has been renamed to Library/Extended_Nat, with name changes of the following types and constants: type inat ~> type enat Fin ~> enat Infty ~> infinity (overloaded) iSuc ~> eSuc the_Fin ~> the_enat Every theorem name containing "inat", "Fin", "Infty", or "iSuc" has been renamed accordingly. INCOMPATIBILITY. * Session Multivariate_Analysis: The euclidean_space type class now fixes a constant "Basis :: 'a set" consisting of the standard orthonormal basis for the type. Users now have the option of quantifying over this set instead of using the "basis" function, e.g. "ALL x:Basis. P x" vs "ALL i vec_eq_iff dist_nth_le_cart ~> dist_vec_nth_le tendsto_vector ~> vec_tendstoI Cauchy_vector ~> vec_CauchyI * Session Multivariate_Analysis: Several duplicate theorems have been removed, and other theorems have been renamed or replaced with more general versions. INCOMPATIBILITY. finite_choice ~> finite_set_choice eventually_conjI ~> eventually_conj eventually_and ~> eventually_conj_iff eventually_false ~> eventually_False setsum_norm ~> norm_setsum Lim_sequentially ~> LIMSEQ_def Lim_ident_at ~> LIM_ident Lim_const ~> tendsto_const Lim_cmul ~> tendsto_scaleR [OF tendsto_const] Lim_neg ~> tendsto_minus Lim_add ~> tendsto_add Lim_sub ~> tendsto_diff Lim_mul ~> tendsto_scaleR Lim_vmul ~> tendsto_scaleR [OF _ tendsto_const] Lim_null_norm ~> tendsto_norm_zero_iff [symmetric] Lim_linear ~> bounded_linear.tendsto Lim_component ~> tendsto_euclidean_component Lim_component_cart ~> tendsto_vec_nth Lim_inner ~> tendsto_inner [OF tendsto_const] dot_lsum ~> inner_setsum_left dot_rsum ~> inner_setsum_right continuous_cmul ~> continuous_scaleR [OF continuous_const] continuous_neg ~> continuous_minus continuous_sub ~> continuous_diff continuous_vmul ~> continuous_scaleR [OF _ continuous_const] continuous_mul ~> continuous_scaleR continuous_inv ~> continuous_inverse continuous_at_within_inv ~> continuous_at_within_inverse continuous_at_inv ~> continuous_at_inverse continuous_at_norm ~> continuous_norm [OF continuous_at_id] continuous_at_infnorm ~> continuous_infnorm [OF continuous_at_id] continuous_at_component ~> continuous_component [OF continuous_at_id] continuous_on_neg ~> continuous_on_minus continuous_on_sub ~> continuous_on_diff continuous_on_cmul ~> continuous_on_scaleR [OF continuous_on_const] continuous_on_vmul ~> continuous_on_scaleR [OF _ continuous_on_const] continuous_on_mul ~> continuous_on_scaleR continuous_on_mul_real ~> continuous_on_mult continuous_on_inner ~> continuous_on_inner [OF continuous_on_const] continuous_on_norm ~> continuous_on_norm [OF continuous_on_id] continuous_on_inverse ~> continuous_on_inv uniformly_continuous_on_neg ~> uniformly_continuous_on_minus uniformly_continuous_on_sub ~> uniformly_continuous_on_diff subset_interior ~> interior_mono subset_closure ~> closure_mono closure_univ ~> closure_UNIV real_arch_lt ~> reals_Archimedean2 real_arch ~> reals_Archimedean3 real_abs_norm ~> abs_norm_cancel real_abs_sub_norm ~> norm_triangle_ineq3 norm_cauchy_schwarz_abs ~> Cauchy_Schwarz_ineq2 * Session HOL-Probability: - Caratheodory's extension lemma is now proved for ring_of_sets. - Infinite products of probability measures are now available. - Sigma closure is independent, if the generator is independent - Use extended reals instead of positive extended reals. INCOMPATIBILITY. * Session HOLCF: Discontinued legacy theorem names, INCOMPATIBILITY. expand_fun_below ~> fun_below_iff below_fun_ext ~> fun_belowI expand_cfun_eq ~> cfun_eq_iff ext_cfun ~> cfun_eqI expand_cfun_below ~> cfun_below_iff below_cfun_ext ~> cfun_belowI monofun_fun_fun ~> fun_belowD monofun_fun_arg ~> monofunE monofun_lub_fun ~> adm_monofun [THEN admD] cont_lub_fun ~> adm_cont [THEN admD] cont2cont_Rep_CFun ~> cont2cont_APP cont_Rep_CFun_app ~> cont_APP_app cont_Rep_CFun_app_app ~> cont_APP_app_app cont_cfun_fun ~> cont_Rep_cfun1 [THEN contE] cont_cfun_arg ~> cont_Rep_cfun2 [THEN contE] contlub_cfun ~> lub_APP [symmetric] contlub_LAM ~> lub_LAM [symmetric] thelubI ~> lub_eqI UU_I ~> bottomI lift_distinct1 ~> lift.distinct(1) lift_distinct2 ~> lift.distinct(2) Def_not_UU ~> lift.distinct(2) Def_inject ~> lift.inject below_UU_iff ~> below_bottom_iff eq_UU_iff ~> eq_bottom_iff *** Document preparation *** * Antiquotation @{rail} layouts railroad syntax diagrams, see also isar-ref manual, both for description and actual application of the same. * Antiquotation @{value} evaluates the given term and presents its result. * Antiquotations: term style "isub" provides ad-hoc conversion of variables x1, y23 into subscripted form x\<^isub>1, y\<^isub>2\<^isub>3. * Predefined LaTeX macros for Isabelle symbols \ and \ (e.g. see ~~/src/HOL/Library/Monad_Syntax.thy). * Localized \isabellestyle switch can be used within blocks or groups like this: \isabellestyle{it} %preferred default {\isabellestylett @{text "typewriter stuff"}} * Discontinued special treatment of hard tabulators. Implicit tab-width is now defined as 1. Potential INCOMPATIBILITY for visual layouts. *** ML *** * The inner syntax of sort/type/term/prop supports inlined YXML representations within quoted string tokens. By encoding logical entities via Term_XML (in ML or Scala) concrete syntax can be bypassed, which is particularly useful for producing bits of text under external program control. * Antiquotations for ML and document preparation are managed as theory data, which requires explicit setup. * Isabelle_Process.is_active allows tools to check if the official process wrapper is running (Isabelle/Scala/jEdit) or the old TTY loop (better known as Proof General). * Structure Proof_Context follows standard naming scheme. Old ProofContext is still available for some time as legacy alias. * Structure Timing provides various operations for timing; supersedes former start_timing/end_timing etc. * Path.print is the official way to show file-system paths to users (including quotes etc.). * Inner syntax: identifiers in parse trees of generic categories "logic", "aprop", "idt" etc. carry position information (disguised as type constraints). Occasional INCOMPATIBILITY with non-compliant translations that choke on unexpected type constraints. Positions can be stripped in ML translations via Syntax.strip_positions / Syntax.strip_positions_ast, or via the syntax constant "_strip_positions" within parse trees. As last resort, positions can be disabled via the configuration option Syntax.positions, which is called "syntax_positions" in Isar attribute syntax. * Discontinued special status of various ML structures that contribute to structure Syntax (Ast, Lexicon, Mixfix, Parser, Printer etc.): less pervasive content, no inclusion in structure Syntax. INCOMPATIBILITY, refer directly to Ast.Constant, Lexicon.is_identifier, Syntax_Trans.mk_binder_tr etc. * Typed print translation: discontinued show_sorts argument, which is already available via context of "advanced" translation. * Refined PARALLEL_GOALS tactical: degrades gracefully for schematic goal states; body tactic needs to address all subgoals uniformly. * Slightly more special eq_list/eq_set, with shortcut involving pointer equality (assumes that eq relation is reflexive). * Classical tactics use proper Proof.context instead of historic types claset/clasimpset. Old-style declarations like addIs, addEs, addDs operate directly on Proof.context. Raw type claset retains its use as snapshot of the classical context, which can be recovered via (put_claset HOL_cs) etc. Type clasimpset has been discontinued. INCOMPATIBILITY, classical tactics and derived proof methods require proper Proof.context. *** System *** * Discontinued support for Poly/ML 5.2, which was the last version without proper multithreading and TimeLimit implementation. * Discontinued old lib/scripts/polyml-platform, which has been obsolete since Isabelle2009-2. * Various optional external tools are referenced more robustly and uniformly by explicit Isabelle settings as follows: ISABELLE_CSDP (formerly CSDP_EXE) ISABELLE_GHC (formerly EXEC_GHC or GHC_PATH) ISABELLE_OCAML (formerly EXEC_OCAML) ISABELLE_SWIPL (formerly EXEC_SWIPL) ISABELLE_YAP (formerly EXEC_YAP) Note that automated detection from the file-system or search path has been discontinued. INCOMPATIBILITY. * Scala layer provides JVM method invocation service for static methods of type (String)String, see Invoke_Scala.method in ML. For example: Invoke_Scala.method "java.lang.System.getProperty" "java.home" Together with YXML.string_of_body/parse_body and XML.Encode/Decode this allows to pass structured values between ML and Scala. * The IsabelleText fonts includes some further glyphs to support the Prover IDE. Potential INCOMPATIBILITY: users who happen to have installed a local copy (which is normally *not* required) need to delete or update it from ~~/lib/fonts/. New in Isabelle2011 (January 2011) ---------------------------------- *** General *** * Experimental Prover IDE based on Isabelle/Scala and jEdit (see src/Tools/jEdit). This also serves as IDE for Isabelle/ML, with useful tooltips and hyperlinks produced from its static analysis. The bundled component provides an executable Isabelle tool that can be run like this: Isabelle2011/bin/isabelle jedit * Significantly improved Isabelle/Isar implementation manual. * System settings: ISABELLE_HOME_USER now includes ISABELLE_IDENTIFIER (and thus refers to something like $HOME/.isabelle/Isabelle2011), while the default heap location within that directory lacks that extra suffix. This isolates multiple Isabelle installations from each other, avoiding problems with old settings in new versions. INCOMPATIBILITY, need to copy/upgrade old user settings manually. * Source files are always encoded as UTF-8, instead of old-fashioned ISO-Latin-1. INCOMPATIBILITY. Isabelle LaTeX documents might require the following package declarations: \usepackage[utf8]{inputenc} \usepackage{textcomp} * Explicit treatment of UTF-8 sequences as Isabelle symbols, such that a Unicode character is treated as a single symbol, not a sequence of non-ASCII bytes as before. Since Isabelle/ML string literals may contain symbols without further backslash escapes, Unicode can now be used here as well. Recall that Symbol.explode in ML provides a consistent view on symbols, while raw explode (or String.explode) merely give a byte-oriented representation. * Theory loader: source files are primarily located via the master directory of each theory node (where the .thy file itself resides). The global load path is still partially available as legacy feature. Minor INCOMPATIBILITY due to subtle change in file lookup: use explicit paths, relatively to the theory. * Special treatment of ML file names has been discontinued. Historically, optional extensions .ML or .sml were added on demand -- at the cost of clarity of file dependencies. Recall that Isabelle/ML files exclusively use the .ML extension. Minor INCOMPATIBILITY. * Various options that affect pretty printing etc. are now properly handled within the context via configuration options, instead of unsynchronized references or print modes. There are both ML Config.T entities and Isar declaration attributes to access these. ML (Config.T) Isar (attribute) eta_contract eta_contract show_brackets show_brackets show_sorts show_sorts show_types show_types show_question_marks show_question_marks show_consts show_consts show_abbrevs show_abbrevs Syntax.ast_trace syntax_ast_trace Syntax.ast_stat syntax_ast_stat Syntax.ambiguity_level syntax_ambiguity_level Goal_Display.goals_limit goals_limit Goal_Display.show_main_goal show_main_goal Method.rule_trace rule_trace Thy_Output.display thy_output_display Thy_Output.quotes thy_output_quotes Thy_Output.indent thy_output_indent Thy_Output.source thy_output_source Thy_Output.break thy_output_break Note that corresponding "..._default" references in ML may only be changed globally at the ROOT session setup, but *not* within a theory. The option "show_abbrevs" supersedes the former print mode "no_abbrevs" with inverted meaning. * More systematic naming of some configuration options. INCOMPATIBILITY. trace_simp ~> simp_trace debug_simp ~> simp_debug * Support for real valued configuration options, using simplistic floating-point notation that coincides with the inner syntax for float_token. * Support for real valued preferences (with approximative PGIP type): front-ends need to accept "pgint" values in float notation. INCOMPATIBILITY. * The IsabelleText font now includes Cyrillic, Hebrew, Arabic from DejaVu Sans. * Discontinued support for Poly/ML 5.0 and 5.1 versions. *** Pure *** * Command 'type_synonym' (with single argument) replaces somewhat outdated 'types', which is still available as legacy feature for some time. * Command 'nonterminal' (with 'and' separated list of arguments) replaces somewhat outdated 'nonterminals'. INCOMPATIBILITY. * Command 'notepad' replaces former 'example_proof' for experimentation in Isar without any result. INCOMPATIBILITY. * Locale interpretation commands 'interpret' and 'sublocale' accept lists of equations to map definitions in a locale to appropriate entities in the context of the interpretation. The 'interpretation' command already provided this functionality. * Diagnostic command 'print_dependencies' prints the locale instances that would be activated if the specified expression was interpreted in the current context. Variant "print_dependencies!" assumes a context without interpretations. * Diagnostic command 'print_interps' prints interpretations in proofs in addition to interpretations in theories. * Discontinued obsolete 'global' and 'local' commands to manipulate the theory name space. Rare INCOMPATIBILITY. The ML functions Sign.root_path and Sign.local_path may be applied directly where this feature is still required for historical reasons. * Discontinued obsolete 'constdefs' command. INCOMPATIBILITY, use 'definition' instead. * The "prems" fact, which refers to the accidental collection of foundational premises in the context, is now explicitly marked as legacy feature and will be discontinued soon. Consider using "assms" of the head statement or reference facts by explicit names. * Document antiquotations @{class} and @{type} print classes and type constructors. * Document antiquotation @{file} checks file/directory entries within the local file system. *** HOL *** * Coercive subtyping: functions can be declared as coercions and type inference will add them as necessary upon input of a term. Theory Complex_Main declares real :: nat => real and real :: int => real as coercions. A coercion function f is declared like this: declare [[coercion f]] To lift coercions through type constructors (e.g. from nat => real to nat list => real list), map functions can be declared, e.g. declare [[coercion_map map]] Currently coercion inference is activated only in theories including real numbers, i.e. descendants of Complex_Main. This is controlled by the configuration option "coercion_enabled", e.g. it can be enabled in other theories like this: declare [[coercion_enabled]] * Command 'partial_function' provides basic support for recursive function definitions over complete partial orders. Concrete instances are provided for i) the option type, ii) tail recursion on arbitrary types, and iii) the heap monad of Imperative_HOL. See src/HOL/ex/Fundefs.thy and src/HOL/Imperative_HOL/ex/Linked_Lists.thy for examples. * Function package: f.psimps rules are no longer implicitly declared as [simp]. INCOMPATIBILITY. * Datatype package: theorems generated for executable equality (class "eq") carry proper names and are treated as default code equations. * Inductive package: now offers command 'inductive_simps' to automatically derive instantiated and simplified equations for inductive predicates, similar to 'inductive_cases'. * Command 'enriched_type' allows to register properties of the functorial structure of types. * Improved infrastructure for term evaluation using code generator techniques, in particular static evaluation conversions. * Code generator: Scala (2.8 or higher) has been added to the target languages. * Code generator: globbing constant expressions "*" and "Theory.*" have been replaced by the more idiomatic "_" and "Theory._". INCOMPATIBILITY. * Code generator: export_code without explicit file declaration prints to standard output. INCOMPATIBILITY. * Code generator: do not print function definitions for case combinators any longer. * Code generator: simplification with rules determined with src/Tools/Code/code_simp.ML and method "code_simp". * Code generator for records: more idiomatic representation of record types. Warning: records are not covered by ancient SML code generation any longer. INCOMPATIBILITY. In cases of need, a suitable rep_datatype declaration helps to succeed then: record 'a foo = ... ... rep_datatype foo_ext ... * Records: logical foundation type for records does not carry a '_type' suffix any longer (obsolete due to authentic syntax). INCOMPATIBILITY. * Quickcheck now by default uses exhaustive testing instead of random testing. Random testing can be invoked by "quickcheck [random]", exhaustive testing by "quickcheck [exhaustive]". * Quickcheck instantiates polymorphic types with small finite datatypes by default. This enables a simple execution mechanism to handle quantifiers and function equality over the finite datatypes. * Quickcheck random generator has been renamed from "code" to "random". INCOMPATIBILITY. * Quickcheck now has a configurable time limit which is set to 30 seconds by default. This can be changed by adding [timeout = n] to the quickcheck command. The time limit for Auto Quickcheck is still set independently. * Quickcheck in locales considers interpretations of that locale for counter example search. * Sledgehammer: - Added "smt" and "remote_smt" provers based on the "smt" proof method. See the Sledgehammer manual for details ("isabelle doc sledgehammer"). - Renamed commands: sledgehammer atp_info ~> sledgehammer running_provers sledgehammer atp_kill ~> sledgehammer kill_provers sledgehammer available_atps ~> sledgehammer available_provers INCOMPATIBILITY. - Renamed options: sledgehammer [atps = ...] ~> sledgehammer [provers = ...] sledgehammer [atp = ...] ~> sledgehammer [prover = ...] sledgehammer [timeout = 77 s] ~> sledgehammer [timeout = 77] (and "ms" and "min" are no longer supported) INCOMPATIBILITY. * Nitpick: - Renamed options: nitpick [timeout = 77 s] ~> nitpick [timeout = 77] nitpick [tac_timeout = 777 ms] ~> nitpick [tac_timeout = 0.777] INCOMPATIBILITY. - Added support for partial quotient types. - Added local versions of the "Nitpick.register_xxx" functions. - Added "whack" option. - Allow registration of quotient types as codatatypes. - Improved "merge_type_vars" option to merge more types. - Removed unsound "fast_descrs" option. - Added custom symmetry breaking for datatypes, making it possible to reach higher cardinalities. - Prevent the expansion of too large definitions. * Proof methods "metis" and "meson" now have configuration options "meson_trace", "metis_trace", and "metis_verbose" that can be enabled to diagnose these tools. E.g. using [[metis_trace = true]] * Auto Solve: Renamed "Auto Solve Direct". The tool is now available manually as command 'solve_direct'. * The default SMT solver Z3 must be enabled explicitly (due to licensing issues) by setting the environment variable Z3_NON_COMMERCIAL in etc/settings of the component, for example. For commercial applications, the SMT solver CVC3 is provided as fall-back; changing the SMT solver is done via the configuration option "smt_solver". * Remote SMT solvers need to be referred to by the "remote_" prefix, i.e. "remote_cvc3" and "remote_z3". * Added basic SMT support for datatypes, records, and typedefs using the oracle mode (no proofs). Direct support of pairs has been dropped in exchange (pass theorems fst_conv snd_conv pair_collapse to the SMT support for a similar behavior). Minor INCOMPATIBILITY. * Changed SMT configuration options: - Renamed: z3_proofs ~> smt_oracle (with inverted meaning) z3_trace_assms ~> smt_trace_used_facts INCOMPATIBILITY. - Added: smt_verbose smt_random_seed smt_datatypes smt_infer_triggers smt_monomorph_limit cvc3_options remote_cvc3_options remote_z3_options yices_options * Boogie output files (.b2i files) need to be declared in the theory header. * Simplification procedure "list_to_set_comprehension" rewrites list comprehensions applied to List.set to set comprehensions. Occasional INCOMPATIBILITY, may be deactivated like this: declare [[simproc del: list_to_set_comprehension]] * Removed old version of primrec package. INCOMPATIBILITY. * Removed simplifier congruence rule of "prod_case", as has for long been the case with "split". INCOMPATIBILITY. * String.literal is a type, but not a datatype. INCOMPATIBILITY. * Removed [split_format ... and ... and ...] version of [split_format]. Potential INCOMPATIBILITY. * Predicate "sorted" now defined inductively, with nice induction rules. INCOMPATIBILITY: former sorted.simps now named sorted_simps. * Constant "contents" renamed to "the_elem", to free the generic name contents for other uses. INCOMPATIBILITY. * Renamed class eq and constant eq (for code generation) to class equal and constant equal, plus renaming of related facts and various tuning. INCOMPATIBILITY. * Dropped type classes mult_mono and mult_mono1. INCOMPATIBILITY. * Removed output syntax "'a ~=> 'b" for "'a => 'b option". INCOMPATIBILITY. * Renamed theory Fset to Cset, type Fset.fset to Cset.set, in order to avoid confusion with finite sets. INCOMPATIBILITY. * Abandoned locales equiv, congruent and congruent2 for equivalence relations. INCOMPATIBILITY: use equivI rather than equiv_intro (same for congruent(2)). * Some previously unqualified names have been qualified: types bool ~> HOL.bool nat ~> Nat.nat constants Trueprop ~> HOL.Trueprop True ~> HOL.True False ~> HOL.False op & ~> HOL.conj op | ~> HOL.disj op --> ~> HOL.implies op = ~> HOL.eq Not ~> HOL.Not The ~> HOL.The All ~> HOL.All Ex ~> HOL.Ex Ex1 ~> HOL.Ex1 Let ~> HOL.Let If ~> HOL.If Ball ~> Set.Ball Bex ~> Set.Bex Suc ~> Nat.Suc Pair ~> Product_Type.Pair fst ~> Product_Type.fst snd ~> Product_Type.snd curry ~> Product_Type.curry op : ~> Set.member Collect ~> Set.Collect INCOMPATIBILITY. * More canonical naming convention for some fundamental definitions: bot_bool_eq ~> bot_bool_def top_bool_eq ~> top_bool_def inf_bool_eq ~> inf_bool_def sup_bool_eq ~> sup_bool_def bot_fun_eq ~> bot_fun_def top_fun_eq ~> top_fun_def inf_fun_eq ~> inf_fun_def sup_fun_eq ~> sup_fun_def INCOMPATIBILITY. * More stylized fact names: expand_fun_eq ~> fun_eq_iff expand_set_eq ~> set_eq_iff set_ext ~> set_eqI nat_number ~> eval_nat_numeral INCOMPATIBILITY. * Refactoring of code-generation specific operations in theory List: constants null ~> List.null facts mem_iff ~> member_def null_empty ~> null_def INCOMPATIBILITY. Note that these were not supposed to be used regularly unless for striking reasons; their main purpose was code generation. Various operations from the Haskell prelude are used for generating Haskell code. * Term "bij f" is now an abbreviation of "bij_betw f UNIV UNIV". Term "surj f" is now an abbreviation of "range f = UNIV". The theorems bij_def and surj_def are unchanged. INCOMPATIBILITY. * Abolished some non-alphabetic type names: "prod" and "sum" replace "*" and "+" respectively. INCOMPATIBILITY. * Name "Plus" of disjoint sum operator "<+>" is now hidden. Write "Sum_Type.Plus" instead. * Constant "split" has been merged with constant "prod_case"; names of ML functions, facts etc. involving split have been retained so far, though. INCOMPATIBILITY. * Dropped old infix syntax "_ mem _" for List.member; use "_ : set _" instead. INCOMPATIBILITY. * Removed lemma "Option.is_none_none" which duplicates "is_none_def". INCOMPATIBILITY. * Former theory Library/Enum is now part of the HOL-Main image. INCOMPATIBILITY: all constants of the Enum theory now have to be referred to by its qualified name. enum ~> Enum.enum nlists ~> Enum.nlists product ~> Enum.product * Theory Library/Monad_Syntax provides do-syntax for monad types. Syntax in Library/State_Monad has been changed to avoid ambiguities. INCOMPATIBILITY. * Theory Library/SetsAndFunctions has been split into Library/Function_Algebras and Library/Set_Algebras; canonical names for instance definitions for functions; various improvements. INCOMPATIBILITY. * Theory Library/Multiset provides stable quicksort implementation of sort_key. * Theory Library/Multiset: renamed empty_idemp ~> empty_neutral. INCOMPATIBILITY. * Session Multivariate_Analysis: introduced a type class for euclidean space. Most theorems are now stated in terms of euclidean spaces instead of finite cartesian products. types real ^ 'n ~> 'a::real_vector ~> 'a::euclidean_space ~> 'a::ordered_euclidean_space (depends on your needs) constants _ $ _ ~> _ $$ _ \ x. _ ~> \\ x. _ CARD('n) ~> DIM('a) Also note that the indices are now natural numbers and not from some finite type. Finite cartesian products of euclidean spaces, products of euclidean spaces the real and complex numbers are instantiated to be euclidean_spaces. INCOMPATIBILITY. * Session Probability: introduced pextreal as positive extended real numbers. Use pextreal as value for measures. Introduce the Radon-Nikodym derivative, product spaces and Fubini's theorem for arbitrary sigma finite measures. Introduces Lebesgue measure based on the integral in Multivariate Analysis. INCOMPATIBILITY. * Session Imperative_HOL: revamped, corrected dozens of inadequacies. INCOMPATIBILITY. * Session SPARK (with image HOL-SPARK) provides commands to load and prove verification conditions generated by the SPARK Ada program verifier. See also src/HOL/SPARK and src/HOL/SPARK/Examples. *** HOL-Algebra *** * Theorems for additive ring operations (locale abelian_monoid and descendants) are generated by interpretation from their multiplicative counterparts. Names (in particular theorem names) have the mandatory qualifier 'add'. Previous theorem names are redeclared for compatibility. * Structure "int_ring" is now an abbreviation (previously a definition). This fits more natural with advanced interpretations. *** HOLCF *** * The domain package now runs in definitional mode by default: The former command 'new_domain' is now called 'domain'. To use the domain package in its original axiomatic mode, use 'domain (unsafe)'. INCOMPATIBILITY. * The new class "domain" is now the default sort. Class "predomain" is an unpointed version of "domain". Theories can be updated by replacing sort annotations as shown below. INCOMPATIBILITY. 'a::type ~> 'a::countable 'a::cpo ~> 'a::predomain 'a::pcpo ~> 'a::domain * The old type class "rep" has been superseded by class "domain". Accordingly, users of the definitional package must remove any "default_sort rep" declarations. INCOMPATIBILITY. * The domain package (definitional mode) now supports unpointed predomain argument types, as long as they are marked 'lazy'. (Strict arguments must be in class "domain".) For example, the following domain definition now works: domain natlist = nil | cons (lazy "nat discr") (lazy "natlist") * Theory HOLCF/Library/HOL_Cpo provides cpo and predomain class instances for types from main HOL: bool, nat, int, char, 'a + 'b, 'a option, and 'a list. Additionally, it configures fixrec and the domain package to work with these types. For example: fixrec isInl :: "('a + 'b) u -> tr" where "isInl$(up$(Inl x)) = TT" | "isInl$(up$(Inr y)) = FF" domain V = VFun (lazy "V -> V") | VCon (lazy "nat") (lazy "V list") * The "(permissive)" option of fixrec has been replaced with a per-equation "(unchecked)" option. See src/HOL/HOLCF/Tutorial/Fixrec_ex.thy for examples. INCOMPATIBILITY. * The "bifinite" class no longer fixes a constant "approx"; the class now just asserts that such a function exists. INCOMPATIBILITY. * Former type "alg_defl" has been renamed to "defl". HOLCF no longer defines an embedding of type 'a defl into udom by default; instances of "bifinite" and "domain" classes are available in src/HOL/HOLCF/Library/Defl_Bifinite.thy. * The syntax "REP('a)" has been replaced with "DEFL('a)". * The predicate "directed" has been removed. INCOMPATIBILITY. * The type class "finite_po" has been removed. INCOMPATIBILITY. * The function "cprod_map" has been renamed to "prod_map". INCOMPATIBILITY. * The monadic bind operator on each powerdomain has new binder syntax similar to sets, e.g. "\\x\xs. t" represents "upper_bind\xs\(\ x. t)". * The infix syntax for binary union on each powerdomain has changed from e.g. "+\" to "\\", for consistency with set syntax. INCOMPATIBILITY. * The constant "UU" has been renamed to "bottom". The syntax "UU" is still supported as an input translation. * Renamed some theorems (the original names are also still available). expand_fun_below ~> fun_below_iff below_fun_ext ~> fun_belowI expand_cfun_eq ~> cfun_eq_iff ext_cfun ~> cfun_eqI expand_cfun_below ~> cfun_below_iff below_cfun_ext ~> cfun_belowI cont2cont_Rep_CFun ~> cont2cont_APP * The Abs and Rep functions for various types have changed names. Related theorem names have also changed to match. INCOMPATIBILITY. Rep_CFun ~> Rep_cfun Abs_CFun ~> Abs_cfun Rep_Sprod ~> Rep_sprod Abs_Sprod ~> Abs_sprod Rep_Ssum ~> Rep_ssum Abs_Ssum ~> Abs_ssum * Lemmas with names of the form *_defined_iff or *_strict_iff have been renamed to *_bottom_iff. INCOMPATIBILITY. * Various changes to bisimulation/coinduction with domain package: - Definitions of "bisim" constants no longer mention definedness. - With mutual recursion, "bisim" predicate is now curried. - With mutual recursion, each type gets a separate coind theorem. - Variable names in bisim_def and coinduct rules have changed. INCOMPATIBILITY. * Case combinators generated by the domain package for type "foo" are now named "foo_case" instead of "foo_when". INCOMPATIBILITY. * Several theorems have been renamed to more accurately reflect the names of constants and types involved. INCOMPATIBILITY. thelub_const ~> lub_const lub_const ~> is_lub_const thelubI ~> lub_eqI is_lub_lub ~> is_lubD2 lubI ~> is_lub_lub unique_lub ~> is_lub_unique is_ub_lub ~> is_lub_rangeD1 lub_bin_chain ~> is_lub_bin_chain lub_fun ~> is_lub_fun thelub_fun ~> lub_fun thelub_cfun ~> lub_cfun thelub_Pair ~> lub_Pair lub_cprod ~> is_lub_prod thelub_cprod ~> lub_prod minimal_cprod ~> minimal_prod inst_cprod_pcpo ~> inst_prod_pcpo UU_I ~> bottomI compact_UU ~> compact_bottom deflation_UU ~> deflation_bottom finite_deflation_UU ~> finite_deflation_bottom * Many legacy theorem names have been discontinued. INCOMPATIBILITY. sq_ord_less_eq_trans ~> below_eq_trans sq_ord_eq_less_trans ~> eq_below_trans refl_less ~> below_refl trans_less ~> below_trans antisym_less ~> below_antisym antisym_less_inverse ~> po_eq_conv [THEN iffD1] box_less ~> box_below rev_trans_less ~> rev_below_trans not_less2not_eq ~> not_below2not_eq less_UU_iff ~> below_UU_iff flat_less_iff ~> flat_below_iff adm_less ~> adm_below adm_not_less ~> adm_not_below adm_compact_not_less ~> adm_compact_not_below less_fun_def ~> below_fun_def expand_fun_less ~> fun_below_iff less_fun_ext ~> fun_belowI less_discr_def ~> below_discr_def discr_less_eq ~> discr_below_eq less_unit_def ~> below_unit_def less_cprod_def ~> below_prod_def prod_lessI ~> prod_belowI Pair_less_iff ~> Pair_below_iff fst_less_iff ~> fst_below_iff snd_less_iff ~> snd_below_iff expand_cfun_less ~> cfun_below_iff less_cfun_ext ~> cfun_belowI injection_less ~> injection_below less_up_def ~> below_up_def not_Iup_less ~> not_Iup_below Iup_less ~> Iup_below up_less ~> up_below Def_inject_less_eq ~> Def_below_Def Def_less_is_eq ~> Def_below_iff spair_less_iff ~> spair_below_iff less_sprod ~> below_sprod spair_less ~> spair_below sfst_less_iff ~> sfst_below_iff ssnd_less_iff ~> ssnd_below_iff fix_least_less ~> fix_least_below dist_less_one ~> dist_below_one less_ONE ~> below_ONE ONE_less_iff ~> ONE_below_iff less_sinlD ~> below_sinlD less_sinrD ~> below_sinrD *** FOL and ZF *** * All constant names are now qualified internally and use proper identifiers, e.g. "IFOL.eq" instead of "op =". INCOMPATIBILITY. *** ML *** * Antiquotation @{assert} inlines a function bool -> unit that raises Fail if the argument is false. Due to inlining the source position of failed assertions is included in the error output. * Discontinued antiquotation @{theory_ref}, which is obsolete since ML text is in practice always evaluated with a stable theory checkpoint. Minor INCOMPATIBILITY, use (Theory.check_thy @{theory}) instead. * Antiquotation @{theory A} refers to theory A from the ancestry of the current context, not any accidental theory loader state as before. Potential INCOMPATIBILITY, subtle change in semantics. * Syntax.pretty_priority (default 0) configures the required priority of pretty-printed output and thus affects insertion of parentheses. * Syntax.default_root (default "any") configures the inner syntax category (nonterminal symbol) for parsing of terms. * Former exception Library.UnequalLengths now coincides with ListPair.UnequalLengths. * Renamed structure MetaSimplifier to Raw_Simplifier. Note that the main functionality is provided by structure Simplifier. * Renamed raw "explode" function to "raw_explode" to emphasize its meaning. Note that internally to Isabelle, Symbol.explode is used in almost all situations. * Discontinued obsolete function sys_error and exception SYS_ERROR. See implementation manual for further details on exceptions in Isabelle/ML. * Renamed setmp_noncritical to Unsynchronized.setmp to emphasize its meaning. * Renamed structure PureThy to Pure_Thy and moved most of its operations to structure Global_Theory, to emphasize that this is rarely-used global-only stuff. * Discontinued Output.debug. Minor INCOMPATIBILITY, use plain writeln instead (or tracing for high-volume output). * Configuration option show_question_marks only affects regular pretty printing of types and terms, not raw Term.string_of_vname. * ML_Context.thm and ML_Context.thms are no longer pervasive. Rare INCOMPATIBILITY, superseded by static antiquotations @{thm} and @{thms} for most purposes. * ML structure Unsynchronized is never opened, not even in Isar interaction mode as before. Old Unsynchronized.set etc. have been discontinued -- use plain := instead. This should be *rare* anyway, since modern tools always work via official context data, notably configuration options. * Parallel and asynchronous execution requires special care concerning interrupts. Structure Exn provides some convenience functions that avoid working directly with raw Interrupt. User code must not absorb interrupts -- intermediate handling (for cleanup etc.) needs to be followed by re-raising of the original exception. Another common source of mistakes are "handle _" patterns, which make the meaning of the program subject to physical effects of the environment. New in Isabelle2009-2 (June 2010) --------------------------------- *** General *** * Authentic syntax for *all* logical entities (type classes, type constructors, term constants): provides simple and robust correspondence between formal entities and concrete syntax. Within the parse tree / AST representations, "constants" are decorated by their category (class, type, const) and spelled out explicitly with their full internal name. Substantial INCOMPATIBILITY concerning low-level syntax declarations and translations (translation rules and translation functions in ML). Some hints on upgrading: - Many existing uses of 'syntax' and 'translations' can be replaced by more modern 'type_notation', 'notation' and 'abbreviation', which are independent of this issue. - 'translations' require markup within the AST; the term syntax provides the following special forms: CONST c -- produces syntax version of constant c from context XCONST c -- literally c, checked as constant from context c -- literally c, if declared by 'syntax' Plain identifiers are treated as AST variables -- occasionally the system indicates accidental variables via the error "rhs contains extra variables". Type classes and type constructors are marked according to their concrete syntax. Some old translations rules need to be written for the "type" category, using type constructor application instead of pseudo-term application of the default category "logic". - 'parse_translation' etc. in ML may use the following antiquotations: @{class_syntax c} -- type class c within parse tree / AST @{term_syntax c} -- type constructor c within parse tree / AST @{const_syntax c} -- ML version of "CONST c" above @{syntax_const c} -- literally c (checked wrt. 'syntax' declarations) - Literal types within 'typed_print_translations', i.e. those *not* represented as pseudo-terms are represented verbatim. Use @{class c} or @{type_name c} here instead of the above syntax antiquotations. Note that old non-authentic syntax was based on unqualified base names, so all of the above "constant" names would coincide. Recall that 'print_syntax' and ML_command "set Syntax.trace_ast" help to diagnose syntax problems. * Type constructors admit general mixfix syntax, not just infix. * Concrete syntax may be attached to local entities without a proof body, too. This works via regular mixfix annotations for 'fix', 'def', 'obtain' etc. or via the explicit 'write' command, which is similar to the 'notation' command in theory specifications. * Discontinued unnamed infix syntax (legacy feature for many years) -- need to specify constant name and syntax separately. Internal ML datatype constructors have been renamed from InfixName to Infix etc. Minor INCOMPATIBILITY. * Schematic theorem statements need to be explicitly markup as such, via commands 'schematic_lemma', 'schematic_theorem', 'schematic_corollary'. Thus the relevance of the proof is made syntactically clear, which impacts performance in a parallel or asynchronous interactive environment. Minor INCOMPATIBILITY. * Use of cumulative prems via "!" in some proof methods has been discontinued (old legacy feature). * References 'trace_simp' and 'debug_simp' have been replaced by configuration options stored in the context. Enabling tracing (the case of debugging is similar) in proofs works via using [[trace_simp = true]] Tracing is then active for all invocations of the simplifier in subsequent goal refinement steps. Tracing may also still be enabled or disabled via the ProofGeneral settings menu. * Separate commands 'hide_class', 'hide_type', 'hide_const', 'hide_fact' replace the former 'hide' KIND command. Minor INCOMPATIBILITY. * Improved parallelism of proof term normalization: usedir -p2 -q0 is more efficient than combinations with -q1 or -q2. *** Pure *** * Proofterms record type-class reasoning explicitly, using the "unconstrain" operation internally. This eliminates all sort constraints from a theorem and proof, introducing explicit OFCLASS-premises. On the proof term level, this operation is automatically applied at theorem boundaries, such that closed proofs are always free of sort constraints. INCOMPATIBILITY for tools that inspect proof terms. * Local theory specifications may depend on extra type variables that are not present in the result type -- arguments TYPE('a) :: 'a itself are added internally. For example: definition unitary :: bool where "unitary = (ALL (x::'a) y. x = y)" * Predicates of locales introduced by classes carry a mandatory "class" prefix. INCOMPATIBILITY. * Vacuous class specifications observe default sort. INCOMPATIBILITY. * Old 'axclass' command has been discontinued. INCOMPATIBILITY, use 'class' instead. * Command 'code_reflect' allows to incorporate generated ML code into runtime environment; replaces immature code_datatype antiquotation. INCOMPATIBILITY. * Code generator: simple concept for abstract datatypes obeying invariants. * Code generator: details of internal data cache have no impact on the user space functionality any longer. * Methods "unfold_locales" and "intro_locales" ignore non-locale subgoals. This is more appropriate for interpretations with 'where'. INCOMPATIBILITY. * Command 'example_proof' opens an empty proof body. This allows to experiment with Isar, without producing any persistent result. * Commands 'type_notation' and 'no_type_notation' declare type syntax within a local theory context, with explicit checking of the constructors involved (in contrast to the raw 'syntax' versions). * Commands 'types' and 'typedecl' now work within a local theory context -- without introducing dependencies on parameters or assumptions, which is not possible in Isabelle/Pure. * Command 'defaultsort' has been renamed to 'default_sort', it works within a local theory context. Minor INCOMPATIBILITY. *** HOL *** * Command 'typedef' now works within a local theory context -- without introducing dependencies on parameters or assumptions, which is not possible in Isabelle/Pure/HOL. Note that the logical environment may contain multiple interpretations of local typedefs (with different non-emptiness proofs), even in a global theory context. * New package for quotient types. Commands 'quotient_type' and 'quotient_definition' may be used for defining types and constants by quotient constructions. An example is the type of integers created by quotienting pairs of natural numbers: fun intrel :: "(nat * nat) => (nat * nat) => bool" where "intrel (x, y) (u, v) = (x + v = u + y)" quotient_type int = "nat * nat" / intrel by (auto simp add: equivp_def expand_fun_eq) quotient_definition "0::int" is "(0::nat, 0::nat)" The method "lifting" can be used to lift of theorems from the underlying "raw" type to the quotient type. The example src/HOL/Quotient_Examples/FSet.thy includes such a quotient construction and provides a reasoning infrastructure for finite sets. * Renamed Library/Quotient.thy to Library/Quotient_Type.thy to avoid clash with new theory Quotient in Main HOL. * Moved the SMT binding into the main HOL session, eliminating separate HOL-SMT session. * List membership infix mem operation is only an input abbreviation. INCOMPATIBILITY. * Theory Library/Word.thy has been removed. Use library Word/Word.thy for future developements; former Library/Word.thy is still present in the AFP entry RSAPPS. * Theorem Int.int_induct renamed to Int.int_of_nat_induct and is no longer shadowed. INCOMPATIBILITY. * Dropped theorem duplicate comp_arith; use semiring_norm instead. INCOMPATIBILITY. * Dropped theorem RealPow.real_sq_order; use power2_le_imp_le instead. INCOMPATIBILITY. * Dropped normalizing_semiring etc; use the facts in semiring classes instead. INCOMPATIBILITY. * Dropped several real-specific versions of lemmas about floor and ceiling; use the generic lemmas from theory "Archimedean_Field" instead. INCOMPATIBILITY. floor_number_of_eq ~> floor_number_of le_floor_eq_number_of ~> number_of_le_floor le_floor_eq_zero ~> zero_le_floor le_floor_eq_one ~> one_le_floor floor_less_eq_number_of ~> floor_less_number_of floor_less_eq_zero ~> floor_less_zero floor_less_eq_one ~> floor_less_one less_floor_eq_number_of ~> number_of_less_floor less_floor_eq_zero ~> zero_less_floor less_floor_eq_one ~> one_less_floor floor_le_eq_number_of ~> floor_le_number_of floor_le_eq_zero ~> floor_le_zero floor_le_eq_one ~> floor_le_one floor_subtract_number_of ~> floor_diff_number_of floor_subtract_one ~> floor_diff_one ceiling_number_of_eq ~> ceiling_number_of ceiling_le_eq_number_of ~> ceiling_le_number_of ceiling_le_zero_eq ~> ceiling_le_zero ceiling_le_eq_one ~> ceiling_le_one less_ceiling_eq_number_of ~> number_of_less_ceiling less_ceiling_eq_zero ~> zero_less_ceiling less_ceiling_eq_one ~> one_less_ceiling ceiling_less_eq_number_of ~> ceiling_less_number_of ceiling_less_eq_zero ~> ceiling_less_zero ceiling_less_eq_one ~> ceiling_less_one le_ceiling_eq_number_of ~> number_of_le_ceiling le_ceiling_eq_zero ~> zero_le_ceiling le_ceiling_eq_one ~> one_le_ceiling ceiling_subtract_number_of ~> ceiling_diff_number_of ceiling_subtract_one ~> ceiling_diff_one * Theory "Finite_Set": various folding_XXX locales facilitate the application of the various fold combinators on finite sets. * Library theory "RBT" renamed to "RBT_Impl"; new library theory "RBT" provides abstract red-black tree type which is backed by "RBT_Impl" as implementation. INCOMPATIBILITY. * Theory Library/Coinductive_List has been removed -- superseded by AFP/thys/Coinductive. * Theory PReal, including the type "preal" and related operations, has been removed. INCOMPATIBILITY. * Real: new development using Cauchy Sequences. * Split off theory "Big_Operators" containing setsum, setprod, Inf_fin, Sup_fin, Min, Max from theory Finite_Set. INCOMPATIBILITY. * Theory "Rational" renamed to "Rat", for consistency with "Nat", "Int" etc. INCOMPATIBILITY. * Constant Rat.normalize needs to be qualified. INCOMPATIBILITY. * New set of rules "ac_simps" provides combined assoc / commute rewrites for all interpretations of the appropriate generic locales. * Renamed theory "OrderedGroup" to "Groups" and split theory "Ring_and_Field" into theories "Rings" and "Fields"; for more appropriate and more consistent names suitable for name prefixes within the HOL theories. INCOMPATIBILITY. * Some generic constants have been put to appropriate theories: - less_eq, less: Orderings - zero, one, plus, minus, uminus, times, abs, sgn: Groups - inverse, divide: Rings INCOMPATIBILITY. * More consistent naming of type classes involving orderings (and lattices): lower_semilattice ~> semilattice_inf upper_semilattice ~> semilattice_sup dense_linear_order ~> dense_linorder pordered_ab_group_add ~> ordered_ab_group_add pordered_ab_group_add_abs ~> ordered_ab_group_add_abs pordered_ab_semigroup_add ~> ordered_ab_semigroup_add pordered_ab_semigroup_add_imp_le ~> ordered_ab_semigroup_add_imp_le pordered_cancel_ab_semigroup_add ~> ordered_cancel_ab_semigroup_add pordered_cancel_comm_semiring ~> ordered_cancel_comm_semiring pordered_cancel_semiring ~> ordered_cancel_semiring pordered_comm_monoid_add ~> ordered_comm_monoid_add pordered_comm_ring ~> ordered_comm_ring pordered_comm_semiring ~> ordered_comm_semiring pordered_ring ~> ordered_ring pordered_ring_abs ~> ordered_ring_abs pordered_semiring ~> ordered_semiring ordered_ab_group_add ~> linordered_ab_group_add ordered_ab_semigroup_add ~> linordered_ab_semigroup_add ordered_cancel_ab_semigroup_add ~> linordered_cancel_ab_semigroup_add ordered_comm_semiring_strict ~> linordered_comm_semiring_strict ordered_field ~> linordered_field ordered_field_no_lb ~> linordered_field_no_lb ordered_field_no_ub ~> linordered_field_no_ub ordered_field_dense_linear_order ~> dense_linordered_field ordered_idom ~> linordered_idom ordered_ring ~> linordered_ring ordered_ring_le_cancel_factor ~> linordered_ring_le_cancel_factor ordered_ring_less_cancel_factor ~> linordered_ring_less_cancel_factor ordered_ring_strict ~> linordered_ring_strict ordered_semidom ~> linordered_semidom ordered_semiring ~> linordered_semiring ordered_semiring_1 ~> linordered_semiring_1 ordered_semiring_1_strict ~> linordered_semiring_1_strict ordered_semiring_strict ~> linordered_semiring_strict The following slightly odd type classes have been moved to a separate theory Library/Lattice_Algebras: lordered_ab_group_add ~> lattice_ab_group_add lordered_ab_group_add_abs ~> lattice_ab_group_add_abs lordered_ab_group_add_meet ~> semilattice_inf_ab_group_add lordered_ab_group_add_join ~> semilattice_sup_ab_group_add lordered_ring ~> lattice_ring INCOMPATIBILITY. * Refined field classes: - classes division_ring_inverse_zero, field_inverse_zero, linordered_field_inverse_zero include rule inverse 0 = 0 -- subsumes former division_by_zero class; - numerous lemmas have been ported from field to division_ring. INCOMPATIBILITY. * Refined algebra theorem collections: - dropped theorem group group_simps, use algebra_simps instead; - dropped theorem group ring_simps, use field_simps instead; - proper theorem collection field_simps subsumes former theorem groups field_eq_simps and field_simps; - dropped lemma eq_minus_self_iff which is a duplicate for equal_neg_zero. INCOMPATIBILITY. * Theory Finite_Set and List: some lemmas have been generalized from sets to lattices: fun_left_comm_idem_inter ~> fun_left_comm_idem_inf fun_left_comm_idem_union ~> fun_left_comm_idem_sup inter_Inter_fold_inter ~> inf_Inf_fold_inf union_Union_fold_union ~> sup_Sup_fold_sup Inter_fold_inter ~> Inf_fold_inf Union_fold_union ~> Sup_fold_sup inter_INTER_fold_inter ~> inf_INFI_fold_inf union_UNION_fold_union ~> sup_SUPR_fold_sup INTER_fold_inter ~> INFI_fold_inf UNION_fold_union ~> SUPR_fold_sup * Theory "Complete_Lattice": lemmas top_def and bot_def have been replaced by the more convenient lemmas Inf_empty and Sup_empty. Dropped lemmas Inf_insert_simp and Sup_insert_simp, which are subsumed by Inf_insert and Sup_insert. Lemmas Inf_UNIV and Sup_UNIV replace former Inf_Univ and Sup_Univ. Lemmas inf_top_right and sup_bot_right subsume inf_top and sup_bot respectively. INCOMPATIBILITY. * Reorganized theory Multiset: swapped notation of pointwise and multiset order: - pointwise ordering is instance of class order with standard syntax <= and <; - multiset ordering has syntax <=# and <#; partial order properties are provided by means of interpretation with prefix multiset_order; - less duplication, less historical organization of sections, conversion from associations lists to multisets, rudimentary code generation; - use insert_DiffM2 [symmetric] instead of elem_imp_eq_diff_union, if needed. Renamed: multiset_eq_conv_count_eq ~> multiset_ext_iff multi_count_ext ~> multiset_ext diff_union_inverse2 ~> diff_union_cancelR INCOMPATIBILITY. * Theory Permutation: replaced local "remove" by List.remove1. * Code generation: ML and OCaml code is decorated with signatures. * Theory List: added transpose. * Library/Nat_Bijection.thy is a collection of bijective functions between nat and other types, which supersedes the older libraries Library/Nat_Int_Bij.thy and HOLCF/NatIso.thy. INCOMPATIBILITY. Constants: Nat_Int_Bij.nat2_to_nat ~> prod_encode Nat_Int_Bij.nat_to_nat2 ~> prod_decode Nat_Int_Bij.int_to_nat_bij ~> int_encode Nat_Int_Bij.nat_to_int_bij ~> int_decode Countable.pair_encode ~> prod_encode NatIso.prod2nat ~> prod_encode NatIso.nat2prod ~> prod_decode NatIso.sum2nat ~> sum_encode NatIso.nat2sum ~> sum_decode NatIso.list2nat ~> list_encode NatIso.nat2list ~> list_decode NatIso.set2nat ~> set_encode NatIso.nat2set ~> set_decode Lemmas: Nat_Int_Bij.bij_nat_to_int_bij ~> bij_int_decode Nat_Int_Bij.nat2_to_nat_inj ~> inj_prod_encode Nat_Int_Bij.nat2_to_nat_surj ~> surj_prod_encode Nat_Int_Bij.nat_to_nat2_inj ~> inj_prod_decode Nat_Int_Bij.nat_to_nat2_surj ~> surj_prod_decode Nat_Int_Bij.i2n_n2i_id ~> int_encode_inverse Nat_Int_Bij.n2i_i2n_id ~> int_decode_inverse Nat_Int_Bij.surj_nat_to_int_bij ~> surj_int_encode Nat_Int_Bij.surj_int_to_nat_bij ~> surj_int_decode Nat_Int_Bij.inj_nat_to_int_bij ~> inj_int_encode Nat_Int_Bij.inj_int_to_nat_bij ~> inj_int_decode Nat_Int_Bij.bij_nat_to_int_bij ~> bij_int_encode Nat_Int_Bij.bij_int_to_nat_bij ~> bij_int_decode * Sledgehammer: - Renamed ATP commands: atp_info ~> sledgehammer running_atps atp_kill ~> sledgehammer kill_atps atp_messages ~> sledgehammer messages atp_minimize ~> sledgehammer minimize print_atps ~> sledgehammer available_atps INCOMPATIBILITY. - Added user's manual ("isabelle doc sledgehammer"). - Added option syntax and "sledgehammer_params" to customize Sledgehammer's behavior. See the manual for details. - Modified the Isar proof reconstruction code so that it produces direct proofs rather than proofs by contradiction. (This feature is still experimental.) - Made Isar proof reconstruction work for SPASS, remote ATPs, and in full-typed mode. - Added support for TPTP syntax for SPASS via the "spass_tptp" ATP. * Nitpick: - Added and implemented "binary_ints" and "bits" options. - Added "std" option and implemented support for nonstandard models. - Added and implemented "finitize" option to improve the precision of infinite datatypes based on a monotonicity analysis. - Added support for quotient types. - Added support for "specification" and "ax_specification" constructs. - Added support for local definitions (for "function" and "termination" proofs). - Added support for term postprocessors. - Optimized "Multiset.multiset" and "FinFun.finfun". - Improved efficiency of "destroy_constrs" optimization. - Fixed soundness bugs related to "destroy_constrs" optimization and record getters. - Fixed soundness bug related to higher-order constructors. - Fixed soundness bug when "full_descrs" is enabled. - Improved precision of set constructs. - Added "atoms" option. - Added cache to speed up repeated Kodkod invocations on the same problems. - Renamed "MiniSatJNI", "zChaffJNI", "BerkMinAlloy", and "SAT4JLight" to "MiniSat_JNI", "zChaff_JNI", "BerkMin_Alloy", and "SAT4J_Light". INCOMPATIBILITY. - Removed "skolemize", "uncurry", "sym_break", "flatten_prop", "sharing_depth", and "show_skolems" options. INCOMPATIBILITY. - Removed "nitpick_intro" attribute. INCOMPATIBILITY. * Method "induct" now takes instantiations of the form t, where t is not a variable, as a shorthand for "x == t", where x is a fresh variable. If this is not intended, t has to be enclosed in parentheses. By default, the equalities generated by definitional instantiations are pre-simplified, which may cause parameters of inductive cases to disappear, or may even delete some of the inductive cases. Use "induct (no_simp)" instead of "induct" to restore the old behaviour. The (no_simp) option is also understood by the "cases" and "nominal_induct" methods, which now perform pre-simplification, too. INCOMPATIBILITY. *** HOLCF *** * Variable names in lemmas generated by the domain package have changed; the naming scheme is now consistent with the HOL datatype package. Some proof scripts may be affected, INCOMPATIBILITY. * The domain package no longer defines the function "foo_copy" for recursive domain "foo". The reach lemma is now stated directly in terms of "foo_take". Lemmas and proofs that mention "foo_copy" must be reformulated in terms of "foo_take", INCOMPATIBILITY. * Most definedness lemmas generated by the domain package (previously of the form "x ~= UU ==> foo$x ~= UU") now have an if-and-only-if form like "foo$x = UU <-> x = UU", which works better as a simp rule. Proofs that used definedness lemmas as intro rules may break, potential INCOMPATIBILITY. * Induction and casedist rules generated by the domain package now declare proper case_names (one called "bottom", and one named for each constructor). INCOMPATIBILITY. * For mutually-recursive domains, separate "reach" and "take_lemma" rules are generated for each domain, INCOMPATIBILITY. foo_bar.reach ~> foo.reach bar.reach foo_bar.take_lemmas ~> foo.take_lemma bar.take_lemma * Some lemmas generated by the domain package have been renamed for consistency with the datatype package, INCOMPATIBILITY. foo.ind ~> foo.induct foo.finite_ind ~> foo.finite_induct foo.coind ~> foo.coinduct foo.casedist ~> foo.exhaust foo.exhaust ~> foo.nchotomy * For consistency with other definition packages, the fixrec package now generates qualified theorem names, INCOMPATIBILITY. foo_simps ~> foo.simps foo_unfold ~> foo.unfold foo_induct ~> foo.induct * The "fixrec_simp" attribute has been removed. The "fixrec_simp" method and internal fixrec proofs now use the default simpset instead. INCOMPATIBILITY. * The "contlub" predicate has been removed. Proof scripts should use lemma contI2 in place of monocontlub2cont, INCOMPATIBILITY. * The "admw" predicate has been removed, INCOMPATIBILITY. * The constants cpair, cfst, and csnd have been removed in favor of Pair, fst, and snd from Isabelle/HOL, INCOMPATIBILITY. *** ML *** * Antiquotations for basic formal entities: @{class NAME} -- type class @{class_syntax NAME} -- syntax representation of the above @{type_name NAME} -- logical type @{type_abbrev NAME} -- type abbreviation @{nonterminal NAME} -- type of concrete syntactic category @{type_syntax NAME} -- syntax representation of any of the above @{const_name NAME} -- logical constant (INCOMPATIBILITY) @{const_abbrev NAME} -- abbreviated constant @{const_syntax NAME} -- syntax representation of any of the above * Antiquotation @{syntax_const NAME} ensures that NAME refers to a raw syntax constant (cf. 'syntax' command). * Antiquotation @{make_string} inlines a function to print arbitrary values similar to the ML toplevel. The result is compiler dependent and may fall back on "?" in certain situations. * Diagnostic commands 'ML_val' and 'ML_command' may refer to antiquotations @{Isar.state} and @{Isar.goal}. This replaces impure Isar.state() and Isar.goal(), which belong to the old TTY loop and do not work with the asynchronous Isar document model. * Configuration options now admit dynamic default values, depending on the context or even global references. * SHA1.digest digests strings according to SHA-1 (see RFC 3174). It uses an efficient external library if available (for Poly/ML). * Renamed some important ML structures, while keeping the old names for some time as aliases within the structure Legacy: OuterKeyword ~> Keyword OuterLex ~> Token OuterParse ~> Parse OuterSyntax ~> Outer_Syntax PrintMode ~> Print_Mode SpecParse ~> Parse_Spec ThyInfo ~> Thy_Info ThyLoad ~> Thy_Load ThyOutput ~> Thy_Output TypeInfer ~> Type_Infer Note that "open Legacy" simplifies porting of sources, but forgetting to remove it again will complicate porting again in the future. * Most operations that refer to a global context are named accordingly, e.g. Simplifier.global_context or ProofContext.init_global. There are some situations where a global context actually works, but under normal circumstances one needs to pass the proper local context through the code! * Discontinued old TheoryDataFun with its copy/init operation -- data needs to be pure. Functor Theory_Data_PP retains the traditional Pretty.pp argument to merge, which is absent in the standard Theory_Data version. * Sorts.certify_sort and derived "cert" operations for types and terms no longer minimize sorts. Thus certification at the boundary of the inference kernel becomes invariant under addition of class relations, which is an important monotonicity principle. Sorts are now minimized in the syntax layer only, at the boundary between the end-user and the system. Subtle INCOMPATIBILITY, may have to use Sign.minimize_sort explicitly in rare situations. * Renamed old-style Drule.standard to Drule.export_without_context, to emphasize that this is in no way a standard operation. INCOMPATIBILITY. * Subgoal.FOCUS (and variants): resulting goal state is normalized as usual for resolution. Rare INCOMPATIBILITY. * Renamed varify/unvarify operations to varify_global/unvarify_global to emphasize that these only work in a global situation (which is quite rare). * Curried take and drop in library.ML; negative length is interpreted as infinity (as in chop). Subtle INCOMPATIBILITY. * Proof terms: type substitutions on proof constants now use canonical order of type variables. INCOMPATIBILITY for tools working with proof terms. * Raw axioms/defs may no longer carry sort constraints, and raw defs may no longer carry premises. User-level specifications are transformed accordingly by Thm.add_axiom/add_def. *** System *** * Discontinued special HOL_USEDIR_OPTIONS for the main HOL image; ISABELLE_USEDIR_OPTIONS applies uniformly to all sessions. Note that proof terms are enabled unconditionally in the new HOL-Proofs image. * Discontinued old ISABELLE and ISATOOL environment settings (legacy feature since Isabelle2009). Use ISABELLE_PROCESS and ISABELLE_TOOL, respectively. * Old lib/scripts/polyml-platform is superseded by the ISABELLE_PLATFORM setting variable, which defaults to the 32 bit variant, even on a 64 bit machine. The following example setting prefers 64 bit if available: ML_PLATFORM="${ISABELLE_PLATFORM64:-$ISABELLE_PLATFORM}" * The preliminary Isabelle/jEdit application demonstrates the emerging Isabelle/Scala layer for advanced prover interaction and integration. See src/Tools/jEdit or "isabelle jedit" provided by the properly built component. * "IsabelleText" is a Unicode font derived from Bitstream Vera Mono and Bluesky TeX fonts. It provides the usual Isabelle symbols, similar to the default assignment of the document preparation system (cf. isabellesym.sty). The Isabelle/Scala class Isabelle_System provides some operations for direct access to the font without asking the user for manual installation. New in Isabelle2009-1 (December 2009) ------------------------------------- *** General *** * Discontinued old form of "escaped symbols" such as \\. Only one backslash should be used, even in ML sources. *** Pure *** * Locale interpretation propagates mixins along the locale hierarchy. The currently only available mixins are the equations used to map local definitions to terms of the target domain of an interpretation. * Reactivated diagnostic command 'print_interps'. Use "print_interps loc" to print all interpretations of locale "loc" in the theory. Interpretations in proofs are not shown. * Thoroughly revised locales tutorial. New section on conditional interpretation. * On instantiation of classes, remaining undefined class parameters are formally declared. INCOMPATIBILITY. *** Document preparation *** * New generalized style concept for printing terms: @{foo (style) ...} instead of @{foo_style style ...} (old form is still retained for backward compatibility). Styles can be also applied for antiquotations prop, term_type and typeof. *** HOL *** * New proof method "smt" for a combination of first-order logic with equality, linear and nonlinear (natural/integer/real) arithmetic, and fixed-size bitvectors; there is also basic support for higher-order features (esp. lambda abstractions). It is an incomplete decision procedure based on external SMT solvers using the oracle mechanism; for the SMT solver Z3, this method is proof-producing. Certificates are provided to avoid calling the external solvers solely for re-checking proofs. Due to a remote SMT service there is no need for installing SMT solvers locally. See src/HOL/SMT. * New commands to load and prove verification conditions generated by the Boogie program verifier or derived systems (e.g. the Verifying C Compiler (VCC) or Spec#). See src/HOL/Boogie. * New counterexample generator tool 'nitpick' based on the Kodkod relational model finder. See src/HOL/Tools/Nitpick and src/HOL/Nitpick_Examples. * New commands 'code_pred' and 'values' to invoke the predicate compiler and to enumerate values of inductive predicates. * A tabled implementation of the reflexive transitive closure. * New implementation of quickcheck uses generic code generator; default generators are provided for all suitable HOL types, records and datatypes. Old quickcheck can be re-activated importing theory Library/SML_Quickcheck. * New testing tool Mirabelle for automated proof tools. Applies several tools and tactics like sledgehammer, metis, or quickcheck, to every proof step in a theory. To be used in batch mode via the "mirabelle" utility. * New proof method "sos" (sum of squares) for nonlinear real arithmetic (originally due to John Harison). It requires theory Library/Sum_Of_Squares. It is not a complete decision procedure but works well in practice on quantifier-free real arithmetic with +, -, *, ^, =, <= and <, i.e. boolean combinations of equalities and inequalities between polynomials. It makes use of external semidefinite programming solvers. Method "sos" generates a certificate that can be pasted into the proof thus avoiding the need to call an external tool every time the proof is checked. See src/HOL/Library/Sum_Of_Squares. * New method "linarith" invokes existing linear arithmetic decision procedure only. * New command 'atp_minimal' reduces result produced by Sledgehammer. * New Sledgehammer option "Full Types" in Proof General settings menu. Causes full type information to be output to the ATPs. This slows ATPs down considerably but eliminates a source of unsound "proofs" that fail later. * New method "metisFT": A version of metis that uses full type information in order to avoid failures of proof reconstruction. * New evaluator "approximate" approximates an real valued term using the same method as the approximation method. * Method "approximate" now supports arithmetic expressions as boundaries of intervals and implements interval splitting and Taylor series expansion. * ML antiquotation @{code_datatype} inserts definition of a datatype generated by the code generator; e.g. see src/HOL/Predicate.thy. * New theory SupInf of the supremum and infimum operators for sets of reals. * New theory Probability, which contains a development of measure theory, eventually leading to Lebesgue integration and probability. * Extended Multivariate Analysis to include derivation and Brouwer's fixpoint theorem. * Reorganization of number theory, INCOMPATIBILITY: - new number theory development for nat and int, in theories Divides and GCD as well as in new session Number_Theory - some constants and facts now suffixed with _nat and _int accordingly - former session NumberTheory now named Old_Number_Theory, including theories Legacy_GCD and Primes (prefer Number_Theory if possible) - moved theory Pocklington from src/HOL/Library to src/HOL/Old_Number_Theory * Theory GCD includes functions Gcd/GCD and Lcm/LCM for the gcd and lcm of finite and infinite sets. It is shown that they form a complete lattice. * Class semiring_div requires superclass no_zero_divisors and proof of div_mult_mult1; theorems div_mult_mult1, div_mult_mult2, div_mult_mult1_if, div_mult_mult1 and div_mult_mult2 have been generalized to class semiring_div, subsuming former theorems zdiv_zmult_zmult1, zdiv_zmult_zmult1_if, zdiv_zmult_zmult1 and zdiv_zmult_zmult2. div_mult_mult1 is now [simp] by default. INCOMPATIBILITY. * Refinements to lattice classes and sets: - less default intro/elim rules in locale variant, more default intro/elim rules in class variant: more uniformity - lemma ge_sup_conv renamed to le_sup_iff, in accordance with le_inf_iff - dropped lemma alias inf_ACI for inf_aci (same for sup_ACI and sup_aci) - renamed ACI to inf_sup_aci - new class "boolean_algebra" - class "complete_lattice" moved to separate theory "Complete_Lattice"; corresponding constants (and abbreviations) renamed and with authentic syntax: Set.Inf ~> Complete_Lattice.Inf Set.Sup ~> Complete_Lattice.Sup Set.INFI ~> Complete_Lattice.INFI Set.SUPR ~> Complete_Lattice.SUPR Set.Inter ~> Complete_Lattice.Inter Set.Union ~> Complete_Lattice.Union Set.INTER ~> Complete_Lattice.INTER Set.UNION ~> Complete_Lattice.UNION - authentic syntax for Set.Pow Set.image - mere abbreviations: Set.empty (for bot) Set.UNIV (for top) Set.inter (for inf, formerly Set.Int) Set.union (for sup, formerly Set.Un) Complete_Lattice.Inter (for Inf) Complete_Lattice.Union (for Sup) Complete_Lattice.INTER (for INFI) Complete_Lattice.UNION (for SUPR) - object-logic definitions as far as appropriate INCOMPATIBILITY. Care is required when theorems Int_subset_iff or Un_subset_iff are explicitly deleted as default simp rules; then also their lattice counterparts le_inf_iff and le_sup_iff have to be deleted to achieve the desired effect. * Rules inf_absorb1, inf_absorb2, sup_absorb1, sup_absorb2 are no simp rules by default any longer; the same applies to min_max.inf_absorb1 etc. INCOMPATIBILITY. * Rules sup_Int_eq and sup_Un_eq are no longer declared as pred_set_conv by default. INCOMPATIBILITY. * Power operations on relations and functions are now one dedicated constant "compow" with infix syntax "^^". Power operation on multiplicative monoids retains syntax "^" and is now defined generic in class power. INCOMPATIBILITY. * Relation composition "R O S" now has a more standard argument order: "R O S = {(x, z). EX y. (x, y) : R & (y, z) : S}". INCOMPATIBILITY, rewrite propositions with "S O R" --> "R O S". Proofs may occasionally break, since the O_assoc rule was not rewritten like this. Fix using O_assoc[symmetric]. The same applies to the curried version "R OO S". * Function "Inv" is renamed to "inv_into" and function "inv" is now an abbreviation for "inv_into UNIV". Lemmas are renamed accordingly. INCOMPATIBILITY. * Most rules produced by inductive and datatype package have mandatory prefixes. INCOMPATIBILITY. * Changed "DERIV_intros" to a dynamic fact, which can be augmented by the attribute of the same name. Each of the theorems in the list DERIV_intros assumes composition with an additional function and matches a variable to the derivative, which has to be solved by the Simplifier. Hence (auto intro!: DERIV_intros) computes the derivative of most elementary terms. Former Maclauren.DERIV_tac and Maclauren.deriv_tac should be replaced by (auto intro!: DERIV_intros). INCOMPATIBILITY. * Code generator attributes follow the usual underscore convention: code_unfold replaces code unfold code_post replaces code post etc. INCOMPATIBILITY. * Renamed methods: sizechange -> size_change induct_scheme -> induction_schema INCOMPATIBILITY. * Discontinued abbreviation "arbitrary" of constant "undefined". INCOMPATIBILITY, use "undefined" directly. * Renamed theorems: Suc_eq_add_numeral_1 -> Suc_eq_plus1 Suc_eq_add_numeral_1_left -> Suc_eq_plus1_left Suc_plus1 -> Suc_eq_plus1 *anti_sym -> *antisym* vector_less_eq_def -> vector_le_def INCOMPATIBILITY. * Added theorem List.map_map as [simp]. Removed List.map_compose. INCOMPATIBILITY. * Removed predicate "M hassize n" (<--> card M = n & finite M). INCOMPATIBILITY. *** HOLCF *** * Theory Representable defines a class "rep" of domains that are representable (via an ep-pair) in the universal domain type "udom". Instances are provided for all type constructors defined in HOLCF. * The 'new_domain' command is a purely definitional version of the domain package, for representable domains. Syntax is identical to the old domain package. The 'new_domain' package also supports indirect recursion using previously-defined type constructors. See src/HOLCF/ex/New_Domain.thy for examples. * Method "fixrec_simp" unfolds one step of a fixrec-defined constant on the left-hand side of an equation, and then performs simplification. Rewriting is done using rules declared with the "fixrec_simp" attribute. The "fixrec_simp" method is intended as a replacement for "fixpat"; see src/HOLCF/ex/Fixrec_ex.thy for examples. * The pattern-match compiler in 'fixrec' can now handle constructors with HOL function types. Pattern-match combinators for the Pair constructor are pre-configured. * The 'fixrec' package now produces better fixed-point induction rules for mutually-recursive definitions: Induction rules have conclusions of the form "P foo bar" instead of "P ". * The constant "sq_le" (with infix syntax "<<" or "\") has been renamed to "below". The name "below" now replaces "less" in many theorem names. (Legacy theorem names using "less" are still supported as well.) * The 'fixrec' package now supports "bottom patterns". Bottom patterns can be used to generate strictness rules, or to make functions more strict (much like the bang-patterns supported by the Glasgow Haskell Compiler). See src/HOLCF/ex/Fixrec_ex.thy for examples. *** ML *** * Support for Poly/ML 5.3.0, with improved reporting of compiler errors and run-time exceptions, including detailed source positions. * Structure Name_Space (formerly NameSpace) now manages uniquely identified entries, with some additional information such as source position, logical grouping etc. * Theory and context data is now introduced by the simplified and modernized functors Theory_Data, Proof_Data, Generic_Data. Data needs to be pure, but the old TheoryDataFun for mutable data (with explicit copy operation) is still available for some time. * Structure Synchronized (cf. src/Pure/Concurrent/synchronized.ML) provides a high-level programming interface to synchronized state variables with atomic update. This works via pure function application within a critical section -- its runtime should be as short as possible; beware of deadlocks if critical code is nested, either directly or indirectly via other synchronized variables! * Structure Unsynchronized (cf. src/Pure/ML-Systems/unsynchronized.ML) wraps raw ML references, explicitly indicating their non-thread-safe behaviour. The Isar toplevel keeps this structure open, to accommodate Proof General as well as quick and dirty interactive experiments with references. * PARALLEL_CHOICE and PARALLEL_GOALS provide basic support for parallel tactical reasoning. * Tacticals Subgoal.FOCUS, Subgoal.FOCUS_PREMS, Subgoal.FOCUS_PARAMS are similar to SUBPROOF, but are slightly more flexible: only the specified parts of the subgoal are imported into the context, and the body tactic may introduce new subgoals and schematic variables. * Old tactical METAHYPS, which does not observe the proof context, has been renamed to Old_Goals.METAHYPS and awaits deletion. Use SUBPROOF or Subgoal.FOCUS etc. * Renamed functor TableFun to Table, and GraphFun to Graph. (Since functors have their own ML name space there is no point to mark them separately.) Minor INCOMPATIBILITY. * Renamed NamedThmsFun to Named_Thms. INCOMPATIBILITY. * Renamed several structures FooBar to Foo_Bar. Occasional, INCOMPATIBILITY. * Operations of structure Skip_Proof no longer require quick_and_dirty mode, which avoids critical setmp. * Eliminated old Attrib.add_attributes, Method.add_methods and related combinators for "args". INCOMPATIBILITY, need to use simplified Attrib/Method.setup introduced in Isabelle2009. * Proper context for simpset_of, claset_of, clasimpset_of. May fall back on global_simpset_of, global_claset_of, global_clasimpset_of as last resort. INCOMPATIBILITY. * Display.pretty_thm now requires a proper context (cf. former ProofContext.pretty_thm). May fall back on Display.pretty_thm_global or even Display.pretty_thm_without_context as last resort. INCOMPATIBILITY. * Discontinued Display.pretty_ctyp/cterm etc. INCOMPATIBILITY, use Syntax.pretty_typ/term directly, preferably with proper context instead of global theory. *** System *** * Further fine tuning of parallel proof checking, scales up to 8 cores (max. speedup factor 5.0). See also Goal.parallel_proofs in ML and usedir option -q. * Support for additional "Isabelle components" via etc/components, see also the system manual. * The isabelle makeall tool now operates on all components with IsaMakefile, not just hardwired "logics". * Removed "compress" option from isabelle-process and isabelle usedir; this is always enabled. * Discontinued support for Poly/ML 4.x versions. * Isabelle tool "wwwfind" provides web interface for 'find_theorems' on a given logic image. This requires the lighttpd webserver and is currently supported on Linux only. New in Isabelle2009 (April 2009) -------------------------------- *** General *** * Simplified main Isabelle executables, with less surprises on case-insensitive file-systems (such as Mac OS). - The main Isabelle tool wrapper is now called "isabelle" instead of "isatool." - The former "isabelle" alias for "isabelle-process" has been removed (should rarely occur to regular users). - The former "isabelle-interface" and its alias "Isabelle" have been removed (interfaces are now regular Isabelle tools). Within scripts and make files, the Isabelle environment variables ISABELLE_TOOL and ISABELLE_PROCESS replace old ISATOOL and ISABELLE, respectively. (The latter are still available as legacy feature.) The old isabelle-interface wrapper could react in confusing ways if the interface was uninstalled or changed otherwise. Individual interface tool configuration is now more explicit, see also the Isabelle system manual. In particular, Proof General is now available via "isabelle emacs". INCOMPATIBILITY, need to adapt derivative scripts. Users may need to purge installed copies of Isabelle executables and re-run "isabelle install -p ...", or use symlinks. * The default for ISABELLE_HOME_USER is now ~/.isabelle instead of the old ~/isabelle, which was slightly non-standard and apt to cause surprises on case-insensitive file-systems (such as Mac OS). INCOMPATIBILITY, need to move existing ~/isabelle/etc, ~/isabelle/heaps, ~/isabelle/browser_info to the new place. Special care is required when using older releases of Isabelle. Note that ISABELLE_HOME_USER can be changed in Isabelle/etc/settings of any Isabelle distribution, in order to use the new ~/.isabelle uniformly. * Proofs of fully specified statements are run in parallel on multi-core systems. A speedup factor of 2.5 to 3.2 can be expected on a regular 4-core machine, if the initial heap space is made reasonably large (cf. Poly/ML option -H). (Requires Poly/ML 5.2.1 or later.) * The main reference manuals ("isar-ref", "implementation", and "system") have been updated and extended. Formally checked references as hyperlinks are now available uniformly. *** Pure *** * Complete re-implementation of locales. INCOMPATIBILITY in several respects. The most important changes are listed below. See the Tutorial on Locales ("locales" manual) for details. - In locale expressions, instantiation replaces renaming. Parameters must be declared in a for clause. To aid compatibility with previous parameter inheritance, in locale declarations, parameters that are not 'touched' (instantiation position "_" or omitted) are implicitly added with their syntax at the beginning of the for clause. - Syntax from abbreviations and definitions in locales is available in locale expressions and context elements. The latter is particularly useful in locale declarations. - More flexible mechanisms to qualify names generated by locale expressions. Qualifiers (prefixes) may be specified in locale expressions, and can be marked as mandatory (syntax: "name!:") or optional (syntax "name?:"). The default depends for plain "name:" depends on the situation where a locale expression is used: in commands 'locale' and 'sublocale' prefixes are optional, in 'interpretation' and 'interpret' prefixes are mandatory. The old implicit qualifiers derived from the parameter names of a locale are no longer generated. - Command "sublocale l < e" replaces "interpretation l < e". The instantiation clause in "interpretation" and "interpret" (square brackets) is no longer available. Use locale expressions. - When converting proof scripts, mandatory qualifiers in 'interpretation' and 'interpret' should be retained by default, even if this is an INCOMPATIBILITY compared to former behavior. In the worst case, use the "name?:" form for non-mandatory ones. Qualifiers in locale expressions range over a single locale instance only. - Dropped locale element "includes". This is a major INCOMPATIBILITY. In existing theorem specifications replace the includes element by the respective context elements of the included locale, omitting those that are already present in the theorem specification. Multiple assume elements of a locale should be replaced by a single one involving the locale predicate. In the proof body, declarations (most notably theorems) may be regained by interpreting the respective locales in the proof context as required (command "interpret"). If using "includes" in replacement of a target solely because the parameter types in the theorem are not as general as in the target, consider declaring a new locale with additional type constraints on the parameters (context element "constrains"). - Discontinued "locale (open)". INCOMPATIBILITY. - Locale interpretation commands no longer attempt to simplify goal. INCOMPATIBILITY: in rare situations the generated goal differs. Use methods intro_locales and unfold_locales to clarify. - Locale interpretation commands no longer accept interpretation attributes. INCOMPATIBILITY. * Class declaration: so-called "base sort" must not be given in import list any longer, but is inferred from the specification. Particularly in HOL, write class foo = ... instead of class foo = type + ... * Class target: global versions of theorems stemming do not carry a parameter prefix any longer. INCOMPATIBILITY. * Class 'instance' command no longer accepts attached definitions. INCOMPATIBILITY, use proper 'instantiation' target instead. * Recovered hiding of consts, which was accidentally broken in Isabelle2007. Potential INCOMPATIBILITY, ``hide const c'' really makes c inaccessible; consider using ``hide (open) const c'' instead. * Slightly more coherent Pure syntax, with updated documentation in isar-ref manual. Removed locales meta_term_syntax and meta_conjunction_syntax: TERM and &&& (formerly &&) are now permanent, INCOMPATIBILITY in rare situations. Note that &&& should not be used directly in regular applications. * There is a new syntactic category "float_const" for signed decimal fractions (e.g. 123.45 or -123.45). * Removed exotic 'token_translation' command. INCOMPATIBILITY, use ML interface with 'setup' command instead. * Command 'local_setup' is similar to 'setup', but operates on a local theory context. * The 'axiomatization' command now only works within a global theory context. INCOMPATIBILITY. * Goal-directed proof now enforces strict proof irrelevance wrt. sort hypotheses. Sorts required in the course of reasoning need to be covered by the constraints in the initial statement, completed by the type instance information of the background theory. Non-trivial sort hypotheses, which rarely occur in practice, may be specified via vacuous propositions of the form SORT_CONSTRAINT('a::c). For example: lemma assumes "SORT_CONSTRAINT('a::empty)" shows False ... The result contains an implicit sort hypotheses as before -- SORT_CONSTRAINT premises are eliminated as part of the canonical rule normalization. * Generalized Isar history, with support for linear undo, direct state addressing etc. * Changed defaults for unify configuration options: unify_trace_bound = 50 (formerly 25) unify_search_bound = 60 (formerly 30) * Different bookkeeping for code equations (INCOMPATIBILITY): a) On theory merge, the last set of code equations for a particular constant is taken (in accordance with the policy applied by other parts of the code generator framework). b) Code equations stemming from explicit declarations (e.g. code attribute) gain priority over default code equations stemming from definition, primrec, fun etc. * Keyword 'code_exception' now named 'code_abort'. INCOMPATIBILITY. * Unified theorem tables for both code generators. Thus [code func] has disappeared and only [code] remains. INCOMPATIBILITY. * Command 'find_consts' searches for constants based on type and name patterns, e.g. find_consts "_ => bool" By default, matching is against subtypes, but it may be restricted to the whole type. Searching by name is possible. Multiple queries are conjunctive and queries may be negated by prefixing them with a hyphen: find_consts strict: "_ => bool" name: "Int" -"int => int" * New 'find_theorems' criterion "solves" matches theorems that directly solve the current goal (modulo higher-order unification). * Auto solve feature for main theorem statements: whenever a new goal is stated, "find_theorems solves" is called; any theorems that could solve the lemma directly are listed as part of the goal state. Cf. associated options in Proof General Isabelle settings menu, enabled by default, with reasonable timeout for pathological cases of higher-order unification. *** Document preparation *** * Antiquotation @{lemma} now imitates a regular terminal proof, demanding keyword 'by' and supporting the full method expression syntax just like the Isar command 'by'. *** HOL *** * Integrated main parts of former image HOL-Complex with HOL. Entry points Main and Complex_Main remain as before. * Logic image HOL-Plain provides a minimal HOL with the most important tools available (inductive, datatype, primrec, ...). This facilitates experimentation and tool development. Note that user applications (and library theories) should never refer to anything below theory Main, as before. * Logic image HOL-Main stops at theory Main, and thus facilitates experimentation due to shorter build times. * Logic image HOL-NSA contains theories of nonstandard analysis which were previously part of former HOL-Complex. Entry point Hyperreal remains valid, but theories formerly using Complex_Main should now use new entry point Hypercomplex. * Generic ATP manager for Sledgehammer, based on ML threads instead of Posix processes. Avoids potentially expensive forking of the ML process. New thread-based implementation also works on non-Unix platforms (Cygwin). Provers are no longer hardwired, but defined within the theory via plain ML wrapper functions. Basic Sledgehammer commands are covered in the isar-ref manual. * Wrapper scripts for remote SystemOnTPTP service allows to use sledgehammer without local ATP installation (Vampire etc.). Other provers may be included via suitable ML wrappers, see also src/HOL/ATP_Linkup.thy. * ATP selection (E/Vampire/Spass) is now via Proof General's settings menu. * The metis method no longer fails because the theorem is too trivial (contains the empty clause). * The metis method now fails in the usual manner, rather than raising an exception, if it determines that it cannot prove the theorem. * Method "coherent" implements a prover for coherent logic (see also src/Tools/coherent.ML). * Constants "undefined" and "default" replace "arbitrary". Usually "undefined" is the right choice to replace "arbitrary", though logically there is no difference. INCOMPATIBILITY. * Command "value" now integrates different evaluation mechanisms. The result of the first successful evaluation mechanism is printed. In square brackets a particular named evaluation mechanisms may be specified (currently, [SML], [code] or [nbe]). See further src/HOL/ex/Eval_Examples.thy. * Normalization by evaluation now allows non-leftlinear equations. Declare with attribute [code nbe]. * Methods "case_tac" and "induct_tac" now refer to the very same rules as the structured Isar versions "cases" and "induct", cf. the corresponding "cases" and "induct" attributes. Mutual induction rules are now presented as a list of individual projections (e.g. foo_bar.inducts for types foo and bar); the old format with explicit HOL conjunction is no longer supported. INCOMPATIBILITY, in rare situations a different rule is selected --- notably nested tuple elimination instead of former prod.exhaust: use explicit (case_tac t rule: prod.exhaust) here. * Attributes "cases", "induct", "coinduct" support "del" option. * Removed fact "case_split_thm", which duplicates "case_split". * The option datatype has been moved to a new theory Option. Renamed option_map to Option.map, and o2s to Option.set, INCOMPATIBILITY. * New predicate "strict_mono" classifies strict functions on partial orders. With strict functions on linear orders, reasoning about (in)equalities is facilitated by theorems "strict_mono_eq", "strict_mono_less_eq" and "strict_mono_less". * Some set operations are now proper qualified constants with authentic syntax. INCOMPATIBILITY: op Int ~> Set.Int op Un ~> Set.Un INTER ~> Set.INTER UNION ~> Set.UNION Inter ~> Set.Inter Union ~> Set.Union {} ~> Set.empty UNIV ~> Set.UNIV * Class complete_lattice with operations Inf, Sup, INFI, SUPR now in theory Set. * Auxiliary class "itself" has disappeared -- classes without any parameter are treated as expected by the 'class' command. * Leibnitz's Series for Pi and the arcus tangens and logarithm series. * Common decision procedures (Cooper, MIR, Ferrack, Approximation, Dense_Linear_Order) are now in directory HOL/Decision_Procs. * Theory src/HOL/Decision_Procs/Approximation provides the new proof method "approximation". It proves formulas on real values by using interval arithmetic. In the formulas are also the transcendental functions sin, cos, tan, atan, ln, exp and the constant pi are allowed. For examples see src/HOL/Descision_Procs/ex/Approximation_Ex.thy. * Theory "Reflection" now resides in HOL/Library. * Entry point to Word library now simply named "Word". INCOMPATIBILITY. * Made source layout more coherent with logical distribution structure: src/HOL/Library/RType.thy ~> src/HOL/Typerep.thy src/HOL/Library/Code_Message.thy ~> src/HOL/ src/HOL/Library/GCD.thy ~> src/HOL/ src/HOL/Library/Order_Relation.thy ~> src/HOL/ src/HOL/Library/Parity.thy ~> src/HOL/ src/HOL/Library/Univ_Poly.thy ~> src/HOL/ src/HOL/Real/ContNotDenum.thy ~> src/HOL/Library/ src/HOL/Real/Lubs.thy ~> src/HOL/ src/HOL/Real/PReal.thy ~> src/HOL/ src/HOL/Real/Rational.thy ~> src/HOL/ src/HOL/Real/RComplete.thy ~> src/HOL/ src/HOL/Real/RealDef.thy ~> src/HOL/ src/HOL/Real/RealPow.thy ~> src/HOL/ src/HOL/Real/Real.thy ~> src/HOL/ src/HOL/Complex/Complex_Main.thy ~> src/HOL/ src/HOL/Complex/Complex.thy ~> src/HOL/ src/HOL/Complex/FrechetDeriv.thy ~> src/HOL/Library/ src/HOL/Complex/Fundamental_Theorem_Algebra.thy ~> src/HOL/Library/ src/HOL/Hyperreal/Deriv.thy ~> src/HOL/ src/HOL/Hyperreal/Fact.thy ~> src/HOL/ src/HOL/Hyperreal/Integration.thy ~> src/HOL/ src/HOL/Hyperreal/Lim.thy ~> src/HOL/ src/HOL/Hyperreal/Ln.thy ~> src/HOL/ src/HOL/Hyperreal/Log.thy ~> src/HOL/ src/HOL/Hyperreal/MacLaurin.thy ~> src/HOL/ src/HOL/Hyperreal/NthRoot.thy ~> src/HOL/ src/HOL/Hyperreal/Series.thy ~> src/HOL/ src/HOL/Hyperreal/SEQ.thy ~> src/HOL/ src/HOL/Hyperreal/Taylor.thy ~> src/HOL/ src/HOL/Hyperreal/Transcendental.thy ~> src/HOL/ src/HOL/Real/Float ~> src/HOL/Library/ src/HOL/Real/HahnBanach ~> src/HOL/HahnBanach src/HOL/Real/RealVector.thy ~> src/HOL/ src/HOL/arith_data.ML ~> src/HOL/Tools src/HOL/hologic.ML ~> src/HOL/Tools src/HOL/simpdata.ML ~> src/HOL/Tools src/HOL/int_arith1.ML ~> src/HOL/Tools/int_arith.ML src/HOL/int_factor_simprocs.ML ~> src/HOL/Tools src/HOL/nat_simprocs.ML ~> src/HOL/Tools src/HOL/Real/float_arith.ML ~> src/HOL/Tools src/HOL/Real/float_syntax.ML ~> src/HOL/Tools src/HOL/Real/rat_arith.ML ~> src/HOL/Tools src/HOL/Real/real_arith.ML ~> src/HOL/Tools src/HOL/Library/Array.thy ~> src/HOL/Imperative_HOL src/HOL/Library/Heap_Monad.thy ~> src/HOL/Imperative_HOL src/HOL/Library/Heap.thy ~> src/HOL/Imperative_HOL src/HOL/Library/Imperative_HOL.thy ~> src/HOL/Imperative_HOL src/HOL/Library/Ref.thy ~> src/HOL/Imperative_HOL src/HOL/Library/Relational.thy ~> src/HOL/Imperative_HOL * If methods "eval" and "evaluation" encounter a structured proof state with !!/==>, only the conclusion is evaluated to True (if possible), avoiding strange error messages. * Method "sizechange" automates termination proofs using (a modification of) the size-change principle. Requires SAT solver. See src/HOL/ex/Termination.thy for examples. * Simplifier: simproc for let expressions now unfolds if bound variable occurs at most once in let expression body. INCOMPATIBILITY. * Method "arith": Linear arithmetic now ignores all inequalities when fast_arith_neq_limit is exceeded, instead of giving up entirely. * New attribute "arith" for facts that should always be used automatically by arithmetic. It is intended to be used locally in proofs, e.g. assumes [arith]: "x > 0" Global usage is discouraged because of possible performance impact. * New classes "top" and "bot" with corresponding operations "top" and "bot" in theory Orderings; instantiation of class "complete_lattice" requires instantiation of classes "top" and "bot". INCOMPATIBILITY. * Changed definition lemma "less_fun_def" in order to provide an instance for preorders on functions; use lemma "less_le" instead. INCOMPATIBILITY. * Theory Orderings: class "wellorder" moved here, with explicit induction rule "less_induct" as assumption. For instantiation of "wellorder" by means of predicate "wf", use rule wf_wellorderI. INCOMPATIBILITY. * Theory Orderings: added class "preorder" as superclass of "order". INCOMPATIBILITY: Instantiation proofs for order, linorder etc. slightly changed. Some theorems named order_class.* now named preorder_class.*. * Theory Relation: renamed "refl" to "refl_on", "reflexive" to "refl, "diag" to "Id_on". * Theory Finite_Set: added a new fold combinator of type ('a => 'b => 'b) => 'b => 'a set => 'b Occasionally this is more convenient than the old fold combinator which is now defined in terms of the new one and renamed to fold_image. * Theories Ring_and_Field and OrderedGroup: The lemmas "group_simps" and "ring_simps" have been replaced by "algebra_simps" (which can be extended with further lemmas!). At the moment both still exist but the former will disappear at some point. * Theory Power: Lemma power_Suc is now declared as a simp rule in class recpower. Type-specific simp rules for various recpower types have been removed. INCOMPATIBILITY, rename old lemmas as follows: rat_power_0 -> power_0 rat_power_Suc -> power_Suc realpow_0 -> power_0 realpow_Suc -> power_Suc complexpow_0 -> power_0 complexpow_Suc -> power_Suc power_poly_0 -> power_0 power_poly_Suc -> power_Suc * Theories Ring_and_Field and Divides: Definition of "op dvd" has been moved to separate class dvd in Ring_and_Field; a couple of lemmas on dvd has been generalized to class comm_semiring_1. Likewise a bunch of lemmas from Divides has been generalized from nat to class semiring_div. INCOMPATIBILITY. This involves the following theorem renames resulting from duplicate elimination: dvd_def_mod ~> dvd_eq_mod_eq_0 zero_dvd_iff ~> dvd_0_left_iff dvd_0 ~> dvd_0_right DIVISION_BY_ZERO_DIV ~> div_by_0 DIVISION_BY_ZERO_MOD ~> mod_by_0 mult_div ~> div_mult_self2_is_id mult_mod ~> mod_mult_self2_is_0 * Theory IntDiv: removed many lemmas that are instances of class-based generalizations (from Divides and Ring_and_Field). INCOMPATIBILITY, rename old lemmas as follows: dvd_diff -> nat_dvd_diff dvd_zminus_iff -> dvd_minus_iff mod_add1_eq -> mod_add_eq mod_mult1_eq -> mod_mult_right_eq mod_mult1_eq' -> mod_mult_left_eq mod_mult_distrib_mod -> mod_mult_eq nat_mod_add_left_eq -> mod_add_left_eq nat_mod_add_right_eq -> mod_add_right_eq nat_mod_div_trivial -> mod_div_trivial nat_mod_mod_trivial -> mod_mod_trivial zdiv_zadd_self1 -> div_add_self1 zdiv_zadd_self2 -> div_add_self2 zdiv_zmult_self1 -> div_mult_self2_is_id zdiv_zmult_self2 -> div_mult_self1_is_id zdvd_triv_left -> dvd_triv_left zdvd_triv_right -> dvd_triv_right zdvd_zmult_cancel_disj -> dvd_mult_cancel_left zmod_eq0_zdvd_iff -> dvd_eq_mod_eq_0[symmetric] zmod_zadd_left_eq -> mod_add_left_eq zmod_zadd_right_eq -> mod_add_right_eq zmod_zadd_self1 -> mod_add_self1 zmod_zadd_self2 -> mod_add_self2 zmod_zadd1_eq -> mod_add_eq zmod_zdiff1_eq -> mod_diff_eq zmod_zdvd_zmod -> mod_mod_cancel zmod_zmod_cancel -> mod_mod_cancel zmod_zmult_self1 -> mod_mult_self2_is_0 zmod_zmult_self2 -> mod_mult_self1_is_0 zmod_1 -> mod_by_1 zdiv_1 -> div_by_1 zdvd_abs1 -> abs_dvd_iff zdvd_abs2 -> dvd_abs_iff zdvd_refl -> dvd_refl zdvd_trans -> dvd_trans zdvd_zadd -> dvd_add zdvd_zdiff -> dvd_diff zdvd_zminus_iff -> dvd_minus_iff zdvd_zminus2_iff -> minus_dvd_iff zdvd_zmultD -> dvd_mult_right zdvd_zmultD2 -> dvd_mult_left zdvd_zmult_mono -> mult_dvd_mono zdvd_0_right -> dvd_0_right zdvd_0_left -> dvd_0_left_iff zdvd_1_left -> one_dvd zminus_dvd_iff -> minus_dvd_iff * Theory Rational: 'Fract k 0' now equals '0'. INCOMPATIBILITY. * The real numbers offer decimal input syntax: 12.34 is translated into 1234/10^2. This translation is not reversed upon output. * Theory Library/Polynomial defines an abstract type 'a poly of univariate polynomials with coefficients of type 'a. In addition to the standard ring operations, it also supports div and mod. Code generation is also supported, using list-style constructors. * Theory Library/Inner_Product defines a class of real_inner for real inner product spaces, with an overloaded operation inner :: 'a => 'a => real. Class real_inner is a subclass of real_normed_vector from theory RealVector. * Theory Library/Product_Vector provides instances for the product type 'a * 'b of several classes from RealVector and Inner_Product. Definitions of addition, subtraction, scalar multiplication, norms, and inner products are included. * Theory Library/Bit defines the field "bit" of integers modulo 2. In addition to the field operations, numerals and case syntax are also supported. * Theory Library/Diagonalize provides constructive version of Cantor's first diagonalization argument. * Theory Library/GCD: Curried operations gcd, lcm (for nat) and zgcd, zlcm (for int); carried together from various gcd/lcm developements in the HOL Distribution. Constants zgcd and zlcm replace former igcd and ilcm; corresponding theorems renamed accordingly. INCOMPATIBILITY, may recover tupled syntax as follows: hide (open) const gcd abbreviation gcd where "gcd == (%(a, b). GCD.gcd a b)" notation (output) GCD.gcd ("gcd '(_, _')") The same works for lcm, zgcd, zlcm. * Theory Library/Nat_Infinity: added addition, numeral syntax and more instantiations for algebraic structures. Removed some duplicate theorems. Changes in simp rules. INCOMPATIBILITY. * ML antiquotation @{code} takes a constant as argument and generates corresponding code in background and inserts name of the corresponding resulting ML value/function/datatype constructor binding in place. All occurrences of @{code} with a single ML block are generated simultaneously. Provides a generic and safe interface for instrumentalizing code generation. See src/HOL/Decision_Procs/Ferrack.thy for a more ambitious application. In future you ought to refrain from ad-hoc compiling generated SML code on the ML toplevel. Note that (for technical reasons) @{code} cannot refer to constants for which user-defined serializations are set. Refer to the corresponding ML counterpart directly in that cases. * Command 'rep_datatype': instead of theorem names the command now takes a list of terms denoting the constructors of the type to be represented as datatype. The characteristic theorems have to be proven. INCOMPATIBILITY. Also observe that the following theorems have disappeared in favour of existing ones: unit_induct ~> unit.induct prod_induct ~> prod.induct sum_induct ~> sum.induct Suc_Suc_eq ~> nat.inject Suc_not_Zero Zero_not_Suc ~> nat.distinct *** HOL-Algebra *** * New locales for orders and lattices where the equivalence relation is not restricted to equality. INCOMPATIBILITY: all order and lattice locales use a record structure with field eq for the equivalence. * New theory of factorial domains. * Units_l_inv and Units_r_inv are now simp rules by default. INCOMPATIBILITY. Simplifier proof that require deletion of l_inv and/or r_inv will now also require deletion of these lemmas. * Renamed the following theorems, INCOMPATIBILITY: UpperD ~> Upper_memD LowerD ~> Lower_memD least_carrier ~> least_closed greatest_carrier ~> greatest_closed greatest_Lower_above ~> greatest_Lower_below one_zero ~> carrier_one_zero one_not_zero ~> carrier_one_not_zero (collision with assumption) *** HOL-Nominal *** * Nominal datatypes can now contain type-variables. * Commands 'nominal_inductive' and 'equivariance' work with local theory targets. * Nominal primrec can now works with local theory targets and its specification syntax now conforms to the general format as seen in 'inductive' etc. * Method "perm_simp" honours the standard simplifier attributes (no_asm), (no_asm_use) etc. * The new predicate #* is defined like freshness, except that on the left hand side can be a set or list of atoms. * Experimental command 'nominal_inductive2' derives strong induction principles for inductive definitions. In contrast to 'nominal_inductive', which can only deal with a fixed number of binders, it can deal with arbitrary expressions standing for sets of atoms to be avoided. The only inductive definition we have at the moment that needs this generalisation is the typing rule for Lets in the algorithm W: Gamma |- t1 : T1 (x,close Gamma T1)::Gamma |- t2 : T2 x#Gamma ----------------------------------------------------------------- Gamma |- Let x be t1 in t2 : T2 In this rule one wants to avoid all the binders that are introduced by "close Gamma T1". We are looking for other examples where this feature might be useful. Please let us know. *** HOLCF *** * Reimplemented the simplification procedure for proving continuity subgoals. The new simproc is extensible; users can declare additional continuity introduction rules with the attribute [cont2cont]. * The continuity simproc now uses a different introduction rule for solving continuity subgoals on terms with lambda abstractions. In some rare cases the new simproc may fail to solve subgoals that the old one could solve, and "simp add: cont2cont_LAM" may be necessary. Potential INCOMPATIBILITY. * Command 'fixrec': specification syntax now conforms to the general format as seen in 'inductive' etc. See src/HOLCF/ex/Fixrec_ex.thy for examples. INCOMPATIBILITY. *** ZF *** * Proof of Zorn's Lemma for partial orders. *** ML *** * Multithreading for Poly/ML 5.1/5.2 is no longer supported, only for Poly/ML 5.2.1 or later. Important note: the TimeLimit facility depends on multithreading, so timouts will not work before Poly/ML 5.2.1! * High-level support for concurrent ML programming, see src/Pure/Cuncurrent. The data-oriented model of "future values" is particularly convenient to organize independent functional computations. The concept of "synchronized variables" provides a higher-order interface for components with shared state, avoiding the delicate details of mutexes and condition variables. (Requires Poly/ML 5.2.1 or later.) * ML bindings produced via Isar commands are stored within the Isar context (theory or proof). Consequently, commands like 'use' and 'ML' become thread-safe and work with undo as expected (concerning top-level bindings, not side-effects on global references). INCOMPATIBILITY, need to provide proper Isar context when invoking the compiler at runtime; really global bindings need to be given outside a theory. (Requires Poly/ML 5.2 or later.) * Command 'ML_prf' is analogous to 'ML' but works within a proof context. Top-level ML bindings are stored within the proof context in a purely sequential fashion, disregarding the nested proof structure. ML bindings introduced by 'ML_prf' are discarded at the end of the proof. (Requires Poly/ML 5.2 or later.) * Simplified ML attribute and method setup, cf. functions Attrib.setup and Method.setup, as well as Isar commands 'attribute_setup' and 'method_setup'. INCOMPATIBILITY for 'method_setup', need to simplify existing code accordingly, or use plain 'setup' together with old Method.add_method. * Simplified ML oracle interface Thm.add_oracle promotes 'a -> cterm to 'a -> thm, while results are always tagged with an authentic oracle name. The Isar command 'oracle' is now polymorphic, no argument type is specified. INCOMPATIBILITY, need to simplify existing oracle code accordingly. Note that extra performance may be gained by producing the cterm carefully, avoiding slow Thm.cterm_of. * Simplified interface for defining document antiquotations via ThyOutput.antiquotation, ThyOutput.output, and optionally ThyOutput.maybe_pretty_source. INCOMPATIBILITY, need to simplify user antiquotations accordingly, see src/Pure/Thy/thy_output.ML for common examples. * More systematic treatment of long names, abstract name bindings, and name space operations. Basic operations on qualified names have been move from structure NameSpace to Long_Name, e.g. Long_Name.base_name, Long_Name.append. Old type bstring has been mostly replaced by abstract type binding (see structure Binding), which supports precise qualification by packages and local theory targets, as well as proper tracking of source positions. INCOMPATIBILITY, need to wrap old bstring values into Binding.name, or better pass through abstract bindings everywhere. See further src/Pure/General/long_name.ML, src/Pure/General/binding.ML and src/Pure/General/name_space.ML * Result facts (from PureThy.note_thms, ProofContext.note_thms, LocalTheory.note etc.) now refer to the *full* internal name, not the bstring as before. INCOMPATIBILITY, not detected by ML type-checking! * Disposed old type and term read functions (Sign.read_def_typ, Sign.read_typ, Sign.read_def_terms, Sign.read_term, Thm.read_def_cterms, Thm.read_cterm etc.). INCOMPATIBILITY, should use regular Syntax.read_typ, Syntax.read_term, Syntax.read_typ_global, Syntax.read_term_global etc.; see also OldGoals.read_term as last resort for legacy applications. * Disposed old declarations, tactics, tactic combinators that refer to the simpset or claset of an implicit theory (such as Addsimps, Simp_tac, SIMPSET). INCOMPATIBILITY, should use @{simpset} etc. in embedded ML text, or local_simpset_of with a proper context passed as explicit runtime argument. * Rules and tactics that read instantiations (read_instantiate, res_inst_tac, thin_tac, subgoal_tac etc.) now demand a proper proof context, which is required for parsing and type-checking. Moreover, the variables are specified as plain indexnames, not string encodings thereof. INCOMPATIBILITY. * Generic Toplevel.add_hook interface allows to analyze the result of transactions. E.g. see src/Pure/ProofGeneral/proof_general_pgip.ML for theorem dependency output of transactions resulting in a new theory state. * ML antiquotations: block-structured compilation context indicated by \ ... \; additional antiquotation forms: @{binding name} - basic name binding @{let ?pat = term} - term abbreviation (HO matching) @{note name = fact} - fact abbreviation @{thm fact} - singleton fact (with attributes) @{thms fact} - general fact (with attributes) @{lemma prop by method} - singleton goal @{lemma prop by meth1 meth2} - singleton goal @{lemma prop1 ... propN by method} - general goal @{lemma prop1 ... propN by meth1 meth2} - general goal @{lemma (open) ...} - open derivation *** System *** * The Isabelle "emacs" tool provides a specific interface to invoke Proof General / Emacs, with more explicit failure if that is not installed (the old isabelle-interface script silently falls back on isabelle-process). The PROOFGENERAL_HOME setting determines the installation location of the Proof General distribution. * Isabelle/lib/classes/Pure.jar provides basic support to integrate the Isabelle process into a JVM/Scala application. See Isabelle/lib/jedit/plugin for a minimal example. (The obsolete Java process wrapper has been discontinued.) * Added homegrown Isabelle font with unicode layout, see lib/fonts. * Various status messages (with exact source position information) are emitted, if proper markup print mode is enabled. This allows user-interface components to provide detailed feedback on internal prover operations. New in Isabelle2008 (June 2008) ------------------------------- *** General *** * The Isabelle/Isar Reference Manual (isar-ref) has been reorganized and updated, with formally checked references as hyperlinks. * Theory loader: use_thy (and similar operations) no longer set the implicit ML context, which was occasionally hard to predict and in conflict with concurrency. INCOMPATIBILITY, use ML within Isar which provides a proper context already. * Theory loader: old-style ML proof scripts being *attached* to a thy file are no longer supported. INCOMPATIBILITY, regular 'uses' and 'use' within a theory file will do the job. * Name space merge now observes canonical order, i.e. the second space is inserted into the first one, while existing entries in the first space take precedence. INCOMPATIBILITY in rare situations, may try to swap theory imports. * Syntax: symbol \ is now considered a letter. Potential INCOMPATIBILITY in identifier syntax etc. * Outer syntax: string tokens no longer admit escaped white space, which was an accidental (undocumented) feature. INCOMPATIBILITY, use white space without escapes. * Outer syntax: string tokens may contain arbitrary character codes specified via 3 decimal digits (as in SML). E.g. "foo\095bar" for "foo_bar". *** Pure *** * Context-dependent token translations. Default setup reverts locally fixed variables, and adds hilite markup for undeclared frees. * Unused theorems can be found using the new command 'unused_thms'. There are three ways of invoking it: (1) unused_thms Only finds unused theorems in the current theory. (2) unused_thms thy_1 ... thy_n - Finds unused theorems in the current theory and all of its ancestors, excluding the theories thy_1 ... thy_n and all of their ancestors. (3) unused_thms thy_1 ... thy_n - thy'_1 ... thy'_m Finds unused theorems in the theories thy'_1 ... thy'_m and all of their ancestors, excluding the theories thy_1 ... thy_n and all of their ancestors. In order to increase the readability of the list produced by unused_thms, theorems that have been created by a particular instance of a theory command such as 'inductive' or 'function' are considered to belong to the same "group", meaning that if at least one theorem in this group is used, the other theorems in the same group are no longer reported as unused. Moreover, if all theorems in the group are unused, only one theorem in the group is displayed. Note that proof objects have to be switched on in order for unused_thms to work properly (i.e. !proofs must be >= 1, which is usually the case when using Proof General with the default settings). * Authentic naming of facts disallows ad-hoc overwriting of previous theorems within the same name space. INCOMPATIBILITY, need to remove duplicate fact bindings, or even accidental fact duplications. Note that tools may maintain dynamically scoped facts systematically, using PureThy.add_thms_dynamic. * Command 'hide' now allows to hide from "fact" name space as well. * Eliminated destructive theorem database, simpset, claset, and clasimpset. Potential INCOMPATIBILITY, really need to observe linear update of theories within ML code. * Eliminated theory ProtoPure and CPure, leaving just one Pure theory. INCOMPATIBILITY, object-logics depending on former Pure require additional setup PureThy.old_appl_syntax_setup; object-logics depending on former CPure need to refer to Pure. * Commands 'use' and 'ML' are now purely functional, operating on theory/local_theory. Removed former 'ML_setup' (on theory), use 'ML' instead. Added 'ML_val' as mere diagnostic replacement for 'ML'. INCOMPATIBILITY. * Command 'setup': discontinued implicit version with ML reference. * Instantiation target allows for simultaneous specification of class instance operations together with an instantiation proof. Type-checking phase allows to refer to class operations uniformly. See src/HOL/Complex/Complex.thy for an Isar example and src/HOL/Library/Eval.thy for an ML example. * Indexing of literal facts: be more serious about including only facts from the visible specification/proof context, but not the background context (locale etc.). Affects `prop` notation and method "fact". INCOMPATIBILITY: need to name facts explicitly in rare situations. * Method "cases", "induct", "coinduct": removed obsolete/undocumented "(open)" option, which used to expose internal bound variables to the proof text. * Isar statements: removed obsolete case "rule_context". INCOMPATIBILITY, better use explicit fixes/assumes. * Locale proofs: default proof step now includes 'unfold_locales'; hence 'proof' without argument may be used to unfold locale predicates. *** Document preparation *** * Simplified pdfsetup.sty: color/hyperref is used unconditionally for both pdf and dvi (hyperlinks usually work in xdvi as well); removed obsolete thumbpdf setup (contemporary PDF viewers do this on the spot); renamed link color from "darkblue" to "linkcolor" (default value unchanged, can be redefined via \definecolor); no longer sets "a4paper" option (unnecessary or even intrusive). * Antiquotation @{lemma A method} proves proposition A by the given method (either a method name or a method name plus (optional) method arguments in parentheses) and prints A just like @{prop A}. *** HOL *** * New primrec package. Specification syntax conforms in style to definition/function/.... No separate induction rule is provided. The "primrec" command distinguishes old-style and new-style specifications by syntax. The former primrec package is now named OldPrimrecPackage. When adjusting theories, beware: constants stemming from new-style primrec specifications have authentic syntax. * Metis prover is now an order of magnitude faster, and also works with multithreading. * Metis: the maximum number of clauses that can be produced from a theorem is now given by the attribute max_clauses. Theorems that exceed this number are ignored, with a warning printed. * Sledgehammer no longer produces structured proofs by default. To enable, declare [[sledgehammer_full = true]]. Attributes reconstruction_modulus, reconstruction_sorts renamed sledgehammer_modulus, sledgehammer_sorts. INCOMPATIBILITY. * Method "induct_scheme" derives user-specified induction rules from well-founded induction and completeness of patterns. This factors out some operations that are done internally by the function package and makes them available separately. See src/HOL/ex/Induction_Scheme.thy for examples. * More flexible generation of measure functions for termination proofs: Measure functions can be declared by proving a rule of the form "is_measure f" and giving it the [measure_function] attribute. The "is_measure" predicate is logically meaningless (always true), and just guides the heuristic. To find suitable measure functions, the termination prover sets up the goal "is_measure ?f" of the appropriate type and generates all solutions by Prolog-style backward proof using the declared rules. This setup also deals with rules like "is_measure f ==> is_measure (list_size f)" which accommodates nested datatypes that recurse through lists. Similar rules are predeclared for products and option types. * Turned the type of sets "'a set" into an abbreviation for "'a => bool" INCOMPATIBILITIES: - Definitions of overloaded constants on sets have to be replaced by definitions on => and bool. - Some definitions of overloaded operators on sets can now be proved using the definitions of the operators on => and bool. Therefore, the following theorems have been renamed: subset_def -> subset_eq psubset_def -> psubset_eq set_diff_def -> set_diff_eq Compl_def -> Compl_eq Sup_set_def -> Sup_set_eq Inf_set_def -> Inf_set_eq sup_set_def -> sup_set_eq inf_set_def -> inf_set_eq - Due to the incompleteness of the HO unification algorithm, some rules such as subst may require manual instantiation, if some of the unknowns in the rule is a set. - Higher order unification and forward proofs: The proof pattern have "P (S::'a set)" <...> then have "EX S. P S" .. no longer works (due to the incompleteness of the HO unification algorithm) and must be replaced by the pattern have "EX S. P S" proof show "P S" <...> qed - Calculational reasoning with subst (or similar rules): The proof pattern have "P (S::'a set)" <...> also have "S = T" <...> finally have "P T" . no longer works (for similar reasons as the previous example) and must be replaced by something like have "P (S::'a set)" <...> moreover have "S = T" <...> ultimately have "P T" by simp - Tactics or packages written in ML code: Code performing pattern matching on types via Type ("set", [T]) => ... must be rewritten. Moreover, functions like strip_type or binder_types no longer return the right value when applied to a type of the form T1 => ... => Tn => U => bool rather than T1 => ... => Tn => U set * Merged theories Wellfounded_Recursion, Accessible_Part and Wellfounded_Relations to theory Wellfounded. * Explicit class "eq" for executable equality. INCOMPATIBILITY. * Class finite no longer treats UNIV as class parameter. Use class enum from theory Library/Enum instead to achieve a similar effect. INCOMPATIBILITY. * Theory List: rule list_induct2 now has explicitly named cases "Nil" and "Cons". INCOMPATIBILITY. * HOL (and FOL): renamed variables in rules imp_elim and swap. Potential INCOMPATIBILITY. * Theory Product_Type: duplicated lemmas split_Pair_apply and injective_fst_snd removed, use split_eta and prod_eqI instead. Renamed upd_fst to apfst and upd_snd to apsnd. INCOMPATIBILITY. * Theory Nat: removed redundant lemmas that merely duplicate lemmas of the same name in theory Orderings: less_trans less_linear le_imp_less_or_eq le_less_trans less_le_trans less_not_sym less_asym Renamed less_imp_le to less_imp_le_nat, and less_irrefl to less_irrefl_nat. Potential INCOMPATIBILITY due to more general types and different variable names. * Library/Option_ord.thy: Canonical order on option type. * Library/RBT.thy: Red-black trees, an efficient implementation of finite maps. * Library/Countable.thy: Type class for countable types. * Theory Int: The representation of numerals has changed. The infix operator BIT and the bit datatype with constructors B0 and B1 have disappeared. INCOMPATIBILITY, use "Int.Bit0 x" and "Int.Bit1 y" in place of "x BIT bit.B0" and "y BIT bit.B1", respectively. Theorems involving BIT, B0, or B1 have been renamed with "Bit0" or "Bit1" accordingly. * Theory Nat: definition of <= and < on natural numbers no longer depend on well-founded relations. INCOMPATIBILITY. Definitions le_def and less_def have disappeared. Consider lemmas not_less [symmetric, where ?'a = nat] and less_eq [symmetric] instead. * Theory Finite_Set: locales ACf, ACe, ACIf, ACIfSL and ACIfSLlin (whose purpose mainly is for various fold_set functionals) have been abandoned in favor of the existing algebraic classes ab_semigroup_mult, comm_monoid_mult, ab_semigroup_idem_mult, lower_semilattice (resp. upper_semilattice) and linorder. INCOMPATIBILITY. * Theory Transitive_Closure: induct and cases rules now declare proper case_names ("base" and "step"). INCOMPATIBILITY. * Theorem Inductive.lfp_ordinal_induct generalized to complete lattices. The form set-specific version is available as Inductive.lfp_ordinal_induct_set. * Renamed theorems "power.simps" to "power_int.simps". INCOMPATIBILITY. * Class semiring_div provides basic abstract properties of semirings with division and modulo operations. Subsumes former class dvd_mod. * Merged theories IntDef, Numeral and IntArith into unified theory Int. INCOMPATIBILITY. * Theory Library/Code_Index: type "index" now represents natural numbers rather than integers. INCOMPATIBILITY. * New class "uminus" with operation "uminus" (split of from class "minus" which now only has operation "minus", binary). INCOMPATIBILITY. * Constants "card", "internal_split", "option_map" now with authentic syntax. INCOMPATIBILITY. * Definitions subset_def, psubset_def, set_diff_def, Compl_def, le_bool_def, less_bool_def, le_fun_def, less_fun_def, inf_bool_def, sup_bool_def, Inf_bool_def, Sup_bool_def, inf_fun_def, sup_fun_def, Inf_fun_def, Sup_fun_def, inf_set_def, sup_set_def, Inf_set_def, Sup_set_def, le_def, less_def, option_map_def now with object equality. INCOMPATIBILITY. * Records. Removed K_record, and replaced it by pure lambda term %x. c. The simplifier setup is now more robust against eta expansion. INCOMPATIBILITY: in cases explicitly referring to K_record. * Library/Multiset: {#a, b, c#} abbreviates {#a#} + {#b#} + {#c#}. * Library/ListVector: new theory of arithmetic vector operations. * Library/Order_Relation: new theory of various orderings as sets of pairs. Defines preorders, partial orders, linear orders and well-orders on sets and on types. *** ZF *** * Renamed some theories to allow to loading both ZF and HOL in the same session: Datatype -> Datatype_ZF Inductive -> Inductive_ZF Int -> Int_ZF IntDiv -> IntDiv_ZF Nat -> Nat_ZF List -> List_ZF Main -> Main_ZF INCOMPATIBILITY: ZF theories that import individual theories below Main might need to be adapted. Regular theory Main is still available, as trivial extension of Main_ZF. *** ML *** * ML within Isar: antiquotation @{const name} or @{const name(typargs)} produces statically-checked Const term. * Functor NamedThmsFun: data is available to the user as dynamic fact (of the same name). Removed obsolete print command. * Removed obsolete "use_legacy_bindings" function. * The ``print mode'' is now a thread-local value derived from a global template (the former print_mode reference), thus access becomes non-critical. The global print_mode reference is for session management only; user-code should use print_mode_value, print_mode_active, PrintMode.setmp etc. INCOMPATIBILITY. * Functions system/system_out provide a robust way to invoke external shell commands, with propagation of interrupts (requires Poly/ML 5.2.1). Do not use OS.Process.system etc. from the basis library! *** System *** * Default settings: PROOFGENERAL_OPTIONS no longer impose xemacs --- in accordance with Proof General 3.7, which prefers GNU emacs. * isatool tty runs Isabelle process with plain tty interaction; optional line editor may be specified via ISABELLE_LINE_EDITOR setting, the default settings attempt to locate "ledit" and "rlwrap". * isatool browser now works with Cygwin as well, using general "javapath" function defined in Isabelle process environment. * YXML notation provides a simple and efficient alternative to standard XML transfer syntax. See src/Pure/General/yxml.ML and isatool yxml as described in the Isabelle system manual. * JVM class isabelle.IsabelleProcess (located in Isabelle/lib/classes) provides general wrapper for managing an Isabelle process in a robust fashion, with ``cooked'' output from stdin/stderr. * Rudimentary Isabelle plugin for jEdit (see Isabelle/lib/jedit), based on Isabelle/JVM process wrapper (see Isabelle/lib/classes). * Removed obsolete THIS_IS_ISABELLE_BUILD feature. NB: the documented way of changing the user's settings is via ISABELLE_HOME_USER/etc/settings, which is a fully featured bash script. * Multithreading.max_threads := 0 refers to the number of actual CPU cores of the underlying machine, which is a good starting point for optimal performance tuning. The corresponding usedir option -M allows "max" as an alias for "0". WARNING: does not work on certain versions of Mac OS (with Poly/ML 5.1). * isabelle-process: non-ML sessions are run with "nice", to reduce the adverse effect of Isabelle flooding interactive front-ends (notably ProofGeneral / XEmacs). New in Isabelle2007 (November 2007) ----------------------------------- *** General *** * More uniform information about legacy features, notably a warning/error of "Legacy feature: ...", depending on the state of the tolerate_legacy_features flag (default true). FUTURE INCOMPATIBILITY: legacy features will disappear eventually. * Theory syntax: the header format ``theory A = B + C:'' has been discontinued in favour of ``theory A imports B C begin''. Use isatool fixheaders to convert existing theory files. INCOMPATIBILITY. * Theory syntax: the old non-Isar theory file format has been discontinued altogether. Note that ML proof scripts may still be used with Isar theories; migration is usually quite simple with the ML function use_legacy_bindings. INCOMPATIBILITY. * Theory syntax: some popular names (e.g. 'class', 'declaration', 'fun', 'help', 'if') are now keywords. INCOMPATIBILITY, use double quotes. * Theory loader: be more serious about observing the static theory header specifications (including optional directories), but not the accidental file locations of previously successful loads. The strict update policy of former update_thy is now already performed by use_thy, so the former has been removed; use_thys updates several theories simultaneously, just as 'imports' within a theory header specification, but without merging the results. Potential INCOMPATIBILITY: may need to refine theory headers and commands ROOT.ML which depend on load order. * Theory loader: optional support for content-based file identification, instead of the traditional scheme of full physical path plus date stamp; configured by the ISABELLE_FILE_IDENT setting (cf. the system manual). The new scheme allows to work with non-finished theories in persistent session images, such that source files may be moved later on without requiring reloads. * Theory loader: old-style ML proof scripts being *attached* to a thy file (with the same base name as the theory) are considered a legacy feature, which will disappear eventually. Even now, the theory loader no longer maintains dependencies on such files. * Syntax: the scope for resolving ambiguities via type-inference is now limited to individual terms, instead of whole simultaneous specifications as before. This greatly reduces the complexity of the syntax module and improves flexibility by separating parsing and type-checking. INCOMPATIBILITY: additional type-constraints (explicit 'fixes' etc.) are required in rare situations. * Syntax: constants introduced by new-style packages ('definition', 'abbreviation' etc.) are passed through the syntax module in ``authentic mode''. This means that associated mixfix annotations really stick to such constants, independently of potential name space ambiguities introduced later on. INCOMPATIBILITY: constants in parse trees are represented slightly differently, may need to adapt syntax translations accordingly. Use CONST marker in 'translations' and @{const_syntax} antiquotation in 'parse_translation' etc. * Legacy goal package: reduced interface to the bare minimum required to keep existing proof scripts running. Most other user-level functions are now part of the OldGoals structure, which is *not* open by default (consider isatool expandshort before open OldGoals). Removed top_sg, prin, printyp, pprint_term/typ altogether, because these tend to cause confusion about the actual goal (!) context being used here, which is not necessarily the same as the_context(). * Command 'find_theorems': supports "*" wild-card in "name:" criterion; "with_dups" option. Certain ProofGeneral versions might support a specific search form (see ProofGeneral/CHANGES). * The ``prems limit'' option (cf. ProofContext.prems_limit) is now -1 by default, which means that "prems" (and also "fixed variables") are suppressed from proof state output. Note that the ProofGeneral settings mechanism allows to change and save options persistently, but older versions of Isabelle will fail to start up if a negative prems limit is imposed. * Local theory targets may be specified by non-nested blocks of ``context/locale/class ... begin'' followed by ``end''. The body may contain definitions, theorems etc., including any derived mechanism that has been implemented on top of these primitives. This concept generalizes the existing ``theorem (in ...)'' towards more versatility and scalability. * Proof General interface: proper undo of final 'end' command; discontinued Isabelle/classic mode (ML proof scripts). *** Document preparation *** * Added antiquotation @{theory name} which prints the given name, after checking that it refers to a valid ancestor theory in the current context. * Added antiquotations @{ML_type text} and @{ML_struct text} which check the given source text as ML type/structure, printing verbatim. * Added antiquotation @{abbrev "c args"} which prints the abbreviation "c args == rhs" given in the current context. (Any number of arguments may be given on the LHS.) *** Pure *** * The 'class' package offers a combination of axclass and locale to achieve Haskell-like type classes in Isabelle. Definitions and theorems within a class context produce both relative results (with implicit parameters according to the locale context), and polymorphic constants with qualified polymorphism (according to the class context). Within the body context of a 'class' target, a separate syntax layer ("user space type system") takes care of converting between global polymorphic consts and internal locale representation. See src/HOL/ex/Classpackage.thy for examples (as well as main HOL). "isatool doc classes" provides a tutorial. * Generic code generator framework allows to generate executable code for ML and Haskell (including Isabelle classes). A short usage sketch: internal compilation: export_code in SML writing SML code to a file: export_code in SML writing OCaml code to a file: export_code in OCaml writing Haskell code to a bunch of files: export_code in Haskell evaluating closed propositions to True/False using code generation: method ``eval'' Reasonable default setup of framework in HOL. Theorem attributs for selecting and transforming function equations theorems: [code fun]: select a theorem as function equation for a specific constant [code fun del]: deselect a theorem as function equation for a specific constant [code inline]: select an equation theorem for unfolding (inlining) in place [code inline del]: deselect an equation theorem for unfolding (inlining) in place User-defined serializations (target in {SML, OCaml, Haskell}): code_const {(target) }+ code_type {(target) }+ code_instance {(target)}+ where instance ::= :: code_class {(target) }+ where class target syntax ::= {where { == }+}? code_instance and code_class only are effective to target Haskell. For example usage see src/HOL/ex/Codegenerator.thy and src/HOL/ex/Codegenerator_Pretty.thy. A separate tutorial on code generation from Isabelle/HOL theories is available via "isatool doc codegen". * Code generator: consts in 'consts_code' Isar commands are now referred to by usual term syntax (including optional type annotations). * Command 'no_translations' removes translation rules from theory syntax. * Overloaded definitions are now actually checked for acyclic dependencies. The overloading scheme is slightly more general than that of Haskell98, although Isabelle does not demand an exact correspondence to type class and instance declarations. INCOMPATIBILITY, use ``defs (unchecked overloaded)'' to admit more exotic versions of overloading -- at the discretion of the user! Polymorphic constants are represented via type arguments, i.e. the instantiation that matches an instance against the most general declaration given in the signature. For example, with the declaration c :: 'a => 'a => 'a, an instance c :: nat => nat => nat is represented as c(nat). Overloading is essentially simultaneous structural recursion over such type arguments. Incomplete specification patterns impose global constraints on all occurrences, e.g. c('a * 'a) on the LHS means that more general c('a * 'b) will be disallowed on any RHS. Command 'print_theory' outputs the normalized system of recursive equations, see section "definitions". * Configuration options are maintained within the theory or proof context (with name and type bool/int/string), providing a very simple interface to a poor-man's version of general context data. Tools may declare options in ML (e.g. using Attrib.config_int) and then refer to these values using Config.get etc. Users may change options via an associated attribute of the same name. This form of context declaration works particularly well with commands 'declare' or 'using', for example ``declare [[foo = 42]]''. Thus it has become very easy to avoid global references, which would not observe Isar toplevel undo/redo and fail to work with multithreading. Various global ML references of Pure and HOL have been turned into configuration options: Unify.search_bound unify_search_bound Unify.trace_bound unify_trace_bound Unify.trace_simp unify_trace_simp Unify.trace_types unify_trace_types Simplifier.simp_depth_limit simp_depth_limit Blast.depth_limit blast_depth_limit DatatypeProp.dtK datatype_distinctness_limit fast_arith_neq_limit fast_arith_neq_limit fast_arith_split_limit fast_arith_split_limit * Named collections of theorems may be easily installed as context data using the functor NamedThmsFun (see also src/Pure/Tools/named_thms.ML). The user may add or delete facts via attributes; there is also a toplevel print command. This facility is just a common case of general context data, which is the preferred way for anything more complex than just a list of facts in canonical order. * Isar: command 'declaration' augments a local theory by generic declaration functions written in ML. This enables arbitrary content being added to the context, depending on a morphism that tells the difference of the original declaration context wrt. the application context encountered later on. * Isar: proper interfaces for simplification procedures. Command 'simproc_setup' declares named simprocs (with match patterns, and body text in ML). Attribute "simproc" adds/deletes simprocs in the current context. ML antiquotation @{simproc name} retrieves named simprocs. * Isar: an extra pair of brackets around attribute declarations abbreviates a theorem reference involving an internal dummy fact, which will be ignored later --- only the effect of the attribute on the background context will persist. This form of in-place declarations is particularly useful with commands like 'declare' and 'using', for example ``have A using [[simproc a]] by simp''. * Isar: method "assumption" (and implicit closing of subproofs) now takes simple non-atomic goal assumptions into account: after applying an assumption as a rule the resulting subgoals are solved by atomic assumption steps. This is particularly useful to finish 'obtain' goals, such as "!!x. (!!x. P x ==> thesis) ==> P x ==> thesis", without referring to the original premise "!!x. P x ==> thesis" in the Isar proof context. POTENTIAL INCOMPATIBILITY: method "assumption" is more permissive. * Isar: implicit use of prems from the Isar proof context is considered a legacy feature. Common applications like ``have A .'' may be replaced by ``have A by fact'' or ``note `A`''. In general, referencing facts explicitly here improves readability and maintainability of proof texts. * Isar: improper proof element 'guess' is like 'obtain', but derives the obtained context from the course of reasoning! For example: assume "EX x y. A x & B y" -- "any previous fact" then guess x and y by clarify This technique is potentially adventurous, depending on the facts and proof tools being involved here. * Isar: known facts from the proof context may be specified as literal propositions, using ASCII back-quote syntax. This works wherever named facts used to be allowed so far, in proof commands, proof methods, attributes etc. Literal facts are retrieved from the context according to unification of type and term parameters. For example, provided that "A" and "A ==> B" and "!!x. P x ==> Q x" are known theorems in the current context, then these are valid literal facts: `A` and `A ==> B` and `!!x. P x ==> Q x" as well as `P a ==> Q a` etc. There is also a proof method "fact" which does the same composition for explicit goal states, e.g. the following proof texts coincide with certain special cases of literal facts: have "A" by fact == note `A` have "A ==> B" by fact == note `A ==> B` have "!!x. P x ==> Q x" by fact == note `!!x. P x ==> Q x` have "P a ==> Q a" by fact == note `P a ==> Q a` * Isar: ":" (colon) is no longer a symbolic identifier character in outer syntax. Thus symbolic identifiers may be used without additional white space in declarations like this: ``assume *: A''. * Isar: 'print_facts' prints all local facts of the current context, both named and unnamed ones. * Isar: 'def' now admits simultaneous definitions, e.g.: def x == "t" and y == "u" * Isar: added command 'unfolding', which is structurally similar to 'using', but affects both the goal state and facts by unfolding given rewrite rules. Thus many occurrences of the 'unfold' method or 'unfolded' attribute may be replaced by first-class proof text. * Isar: methods 'unfold' / 'fold', attributes 'unfolded' / 'folded', and command 'unfolding' now all support object-level equalities (potentially conditional). The underlying notion of rewrite rule is analogous to the 'rule_format' attribute, but *not* that of the Simplifier (which is usually more generous). * Isar: the new attribute [rotated n] (default n = 1) rotates the premises of a theorem by n. Useful in conjunction with drule. * Isar: the goal restriction operator [N] (default N = 1) evaluates a method expression within a sandbox consisting of the first N sub-goals, which need to exist. For example, ``simp_all [3]'' simplifies the first three sub-goals, while (rule foo, simp_all)[] simplifies all new goals that emerge from applying rule foo to the originally first one. * Isar: schematic goals are no longer restricted to higher-order patterns; e.g. ``lemma "?P(?x)" by (rule TrueI)'' now works as expected. * Isar: the conclusion of a long theorem statement is now either 'shows' (a simultaneous conjunction, as before), or 'obtains' (essentially a disjunction of cases with local parameters and assumptions). The latter allows to express general elimination rules adequately; in this notation common elimination rules look like this: lemma exE: -- "EX x. P x ==> (!!x. P x ==> thesis) ==> thesis" assumes "EX x. P x" obtains x where "P x" lemma conjE: -- "A & B ==> (A ==> B ==> thesis) ==> thesis" assumes "A & B" obtains A and B lemma disjE: -- "A | B ==> (A ==> thesis) ==> (B ==> thesis) ==> thesis" assumes "A | B" obtains A | B The subsequent classical rules even refer to the formal "thesis" explicitly: lemma classical: -- "(~ thesis ==> thesis) ==> thesis" obtains "~ thesis" lemma Peirce's_Law: -- "((thesis ==> something) ==> thesis) ==> thesis" obtains "thesis ==> something" The actual proof of an 'obtains' statement is analogous to that of the Isar proof element 'obtain', only that there may be several cases. Optional case names may be specified in parentheses; these will be available both in the present proof and as annotations in the resulting rule, for later use with the 'cases' method (cf. attribute case_names). * Isar: the assumptions of a long theorem statement are available as "assms" fact in the proof context. This is more appropriate than the (historical) "prems", which refers to all assumptions of the current context, including those from the target locale, proof body etc. * Isar: 'print_statement' prints theorems from the current theory or proof context in long statement form, according to the syntax of a top-level lemma. * Isar: 'obtain' takes an optional case name for the local context introduction rule (default "that"). * Isar: removed obsolete 'concl is' patterns. INCOMPATIBILITY, use explicit (is "_ ==> ?foo") in the rare cases where this still happens to occur. * Pure: syntax "CONST name" produces a fully internalized constant according to the current context. This is particularly useful for syntax translations that should refer to internal constant representations independently of name spaces. * Pure: syntax constant for foo (binder "FOO ") is called "foo_binder" instead of "FOO ". This allows multiple binder declarations to coexist in the same context. INCOMPATIBILITY. * Isar/locales: 'notation' provides a robust interface to the 'syntax' primitive that also works in a locale context (both for constants and fixed variables). Type declaration and internal syntactic representation of given constants retrieved from the context. Likewise, the 'no_notation' command allows to remove given syntax annotations from the current context. * Isar/locales: new derived specification elements 'axiomatization', 'definition', 'abbreviation', which support type-inference, admit object-level specifications (equality, equivalence). See also the isar-ref manual. Examples: axiomatization eq (infix "===" 50) where eq_refl: "x === x" and eq_subst: "x === y ==> P x ==> P y" definition "f x y = x + y + 1" definition g where "g x = f x x" abbreviation neq (infix "=!=" 50) where "x =!= y == ~ (x === y)" These specifications may be also used in a locale context. Then the constants being introduced depend on certain fixed parameters, and the constant name is qualified by the locale base name. An internal abbreviation takes care for convenient input and output, making the parameters implicit and using the original short name. See also src/HOL/ex/Abstract_NAT.thy for an example of deriving polymorphic entities from a monomorphic theory. Presently, abbreviations are only available 'in' a target locale, but not inherited by general import expressions. Also note that 'abbreviation' may be used as a type-safe replacement for 'syntax' + 'translations' in common applications. The "no_abbrevs" print mode prevents folding of abbreviations in term output. Concrete syntax is attached to specified constants in internal form, independently of name spaces. The parse tree representation is slightly different -- use 'notation' instead of raw 'syntax', and 'translations' with explicit "CONST" markup to accommodate this. * Pure/Isar: unified syntax for new-style specification mechanisms (e.g. 'definition', 'abbreviation', or 'inductive' in HOL) admits full type inference and dummy patterns ("_"). For example: definition "K x _ = x" inductive conj for A B where "A ==> B ==> conj A B" * Pure: command 'print_abbrevs' prints all constant abbreviations of the current context. Print mode "no_abbrevs" prevents inversion of abbreviations on output. * Isar/locales: improved parameter handling: use of locales "var" and "struct" no longer necessary; - parameter renamings are no longer required to be injective. For example, this allows to define endomorphisms as locale endom = homom mult mult h. * Isar/locales: changed the way locales with predicates are defined. Instead of accumulating the specification, the imported expression is now an interpretation. INCOMPATIBILITY: different normal form of locale expressions. In particular, in interpretations of locales with predicates, goals repesenting already interpreted fragments are not removed automatically. Use methods `intro_locales' and `unfold_locales'; see below. * Isar/locales: new methods `intro_locales' and `unfold_locales' provide backward reasoning on locales predicates. The methods are aware of interpretations and discharge corresponding goals. `intro_locales' is less aggressive then `unfold_locales' and does not unfold predicates to assumptions. * Isar/locales: the order in which locale fragments are accumulated has changed. This enables to override declarations from fragments due to interpretations -- for example, unwanted simp rules. * Isar/locales: interpretation in theories and proof contexts has been extended. One may now specify (and prove) equations, which are unfolded in interpreted theorems. This is useful for replacing defined concepts (constants depending on locale parameters) by concepts already existing in the target context. Example: interpretation partial_order ["op <= :: [int, int] => bool"] where "partial_order.less (op <=) (x::int) y = (x < y)" Typically, the constant `partial_order.less' is created by a definition specification element in the context of locale partial_order. * Method "induct": improved internal context management to support local fixes and defines on-the-fly. Thus explicit meta-level connectives !! and ==> are rarely required anymore in inductive goals (using object-logic connectives for this purpose has been long obsolete anyway). Common proof patterns are explained in src/HOL/Induct/Common_Patterns.thy, see also src/HOL/Isar_examples/Puzzle.thy and src/HOL/Lambda for realistic examples. * Method "induct": improved handling of simultaneous goals. Instead of introducing object-level conjunction, the statement is now split into several conclusions, while the corresponding symbolic cases are nested accordingly. INCOMPATIBILITY, proofs need to be structured explicitly, see src/HOL/Induct/Common_Patterns.thy, for example. * Method "induct": mutual induction rules are now specified as a list of rule sharing the same induction cases. HOL packages usually provide foo_bar.inducts for mutually defined items foo and bar (e.g. inductive predicates/sets or datatypes). INCOMPATIBILITY, users need to specify mutual induction rules differently, i.e. like this: (induct rule: foo_bar.inducts) (induct set: foo bar) (induct pred: foo bar) (induct type: foo bar) The ML function ProjectRule.projections turns old-style rules into the new format. * Method "coinduct": dual of induction, see src/HOL/Library/Coinductive_List.thy for various examples. * Method "cases", "induct", "coinduct": the ``(open)'' option is considered a legacy feature. * Attribute "symmetric" produces result with standardized schematic variables (index 0). Potential INCOMPATIBILITY. * Simplifier: by default the simplifier trace only shows top level rewrites now. That is, trace_simp_depth_limit is set to 1 by default. Thus there is less danger of being flooded by the trace. The trace indicates where parts have been suppressed. * Provers/classical: removed obsolete classical version of elim_format attribute; classical elim/dest rules are now treated uniformly when manipulating the claset. * Provers/classical: stricter checks to ensure that supplied intro, dest and elim rules are well-formed; dest and elim rules must have at least one premise. * Provers/classical: attributes dest/elim/intro take an optional weight argument for the rule (just as the Pure versions). Weights are ignored by automated tools, but determine the search order of single rule steps. * Syntax: input syntax now supports dummy variable binding "%_. b", where the body does not mention the bound variable. Note that dummy patterns implicitly depend on their context of bounds, which makes "{_. _}" match any set comprehension as expected. Potential INCOMPATIBILITY -- parse translations need to cope with syntactic constant "_idtdummy" in the binding position. * Syntax: removed obsolete syntactic constant "_K" and its associated parse translation. INCOMPATIBILITY -- use dummy abstraction instead, for example "A -> B" => "Pi A (%_. B)". * Pure: 'class_deps' command visualizes the subclass relation, using the graph browser tool. * Pure: 'print_theory' now suppresses certain internal declarations by default; use '!' option for full details. *** HOL *** * Method "metis" proves goals by applying the Metis general-purpose resolution prover (see also http://gilith.com/software/metis/). Examples are in the directory MetisExamples. WARNING: the Isabelle/HOL-Metis integration does not yet work properly with multi-threading. * Command 'sledgehammer' invokes external automatic theorem provers as background processes. It generates calls to the "metis" method if successful. These can be pasted into the proof. Users do not have to wait for the automatic provers to return. WARNING: does not really work with multi-threading. * New "auto_quickcheck" feature tests outermost goal statements for potential counter-examples. Controlled by ML references auto_quickcheck (default true) and auto_quickcheck_time_limit (default 5000 milliseconds). Fails silently if statements is outside of executable fragment, or any other codgenerator problem occurs. * New constant "undefined" with axiom "undefined x = undefined". * Added class "HOL.eq", allowing for code generation with polymorphic equality. * Some renaming of class constants due to canonical name prefixing in the new 'class' package: HOL.abs ~> HOL.abs_class.abs HOL.divide ~> HOL.divide_class.divide 0 ~> HOL.zero_class.zero 1 ~> HOL.one_class.one op + ~> HOL.plus_class.plus op - ~> HOL.minus_class.minus uminus ~> HOL.minus_class.uminus op * ~> HOL.times_class.times op < ~> HOL.ord_class.less op <= > HOL.ord_class.less_eq Nat.power ~> Power.power_class.power Nat.size ~> Nat.size_class.size Numeral.number_of ~> Numeral.number_class.number_of FixedPoint.Inf ~> Lattices.complete_lattice_class.Inf FixedPoint.Sup ~> Lattices.complete_lattice_class.Sup Orderings.min ~> Orderings.ord_class.min Orderings.max ~> Orderings.ord_class.max Divides.op div ~> Divides.div_class.div Divides.op mod ~> Divides.div_class.mod Divides.op dvd ~> Divides.div_class.dvd INCOMPATIBILITY. Adaptions may be required in the following cases: a) User-defined constants using any of the names "plus", "minus", "times", "less" or "less_eq". The standard syntax translations for "+", "-" and "*" may go wrong. INCOMPATIBILITY: use more specific names. b) Variables named "plus", "minus", "times", "less", "less_eq" INCOMPATIBILITY: use more specific names. c) Permutative equations (e.g. "a + b = b + a") Since the change of names also changes the order of terms, permutative rewrite rules may get applied in a different order. Experience shows that this is rarely the case (only two adaptions in the whole Isabelle distribution). INCOMPATIBILITY: rewrite proofs d) ML code directly refering to constant names This in general only affects hand-written proof tactics, simprocs and so on. INCOMPATIBILITY: grep your sourcecode and replace names. Consider using @{const_name} antiquotation. * New class "default" with associated constant "default". * Function "sgn" is now overloaded and available on int, real, complex (and other numeric types), using class "sgn". Two possible defs of sgn are given as equational assumptions in the classes sgn_if and sgn_div_norm; ordered_idom now also inherits from sgn_if. INCOMPATIBILITY. * Locale "partial_order" now unified with class "order" (cf. theory Orderings), added parameter "less". INCOMPATIBILITY. * Renamings in classes "order" and "linorder": facts "refl", "trans" and "cases" to "order_refl", "order_trans" and "linorder_cases", to avoid clashes with HOL "refl" and "trans". INCOMPATIBILITY. * Classes "order" and "linorder": potential INCOMPATIBILITY due to changed order of proof goals in instance proofs. * The transitivity reasoner for partial and linear orders is set up for classes "order" and "linorder". Instances of the reasoner are available in all contexts importing or interpreting the corresponding locales. Method "order" invokes the reasoner separately; the reasoner is also integrated with the Simplifier as a solver. Diagnostic command 'print_orders' shows the available instances of the reasoner in the current context. * Localized monotonicity predicate in theory "Orderings"; integrated lemmas max_of_mono and min_of_mono with this predicate. INCOMPATIBILITY. * Formulation of theorem "dense" changed slightly due to integration with new class dense_linear_order. * Uniform lattice theory development in HOL. constants "meet" and "join" now named "inf" and "sup" constant "Meet" now named "Inf" classes "meet_semilorder" and "join_semilorder" now named "lower_semilattice" and "upper_semilattice" class "lorder" now named "lattice" class "comp_lat" now named "complete_lattice" Instantiation of lattice classes allows explicit definitions for "inf" and "sup" operations (or "Inf" and "Sup" for complete lattices). INCOMPATIBILITY. Theorem renames: meet_left_le ~> inf_le1 meet_right_le ~> inf_le2 join_left_le ~> sup_ge1 join_right_le ~> sup_ge2 meet_join_le ~> inf_sup_ord le_meetI ~> le_infI join_leI ~> le_supI le_meet ~> le_inf_iff le_join ~> ge_sup_conv meet_idempotent ~> inf_idem join_idempotent ~> sup_idem meet_comm ~> inf_commute join_comm ~> sup_commute meet_leI1 ~> le_infI1 meet_leI2 ~> le_infI2 le_joinI1 ~> le_supI1 le_joinI2 ~> le_supI2 meet_assoc ~> inf_assoc join_assoc ~> sup_assoc meet_left_comm ~> inf_left_commute meet_left_idempotent ~> inf_left_idem join_left_comm ~> sup_left_commute join_left_idempotent ~> sup_left_idem meet_aci ~> inf_aci join_aci ~> sup_aci le_def_meet ~> le_iff_inf le_def_join ~> le_iff_sup join_absorp2 ~> sup_absorb2 join_absorp1 ~> sup_absorb1 meet_absorp1 ~> inf_absorb1 meet_absorp2 ~> inf_absorb2 meet_join_absorp ~> inf_sup_absorb join_meet_absorp ~> sup_inf_absorb distrib_join_le ~> distrib_sup_le distrib_meet_le ~> distrib_inf_le add_meet_distrib_left ~> add_inf_distrib_left add_join_distrib_left ~> add_sup_distrib_left is_join_neg_meet ~> is_join_neg_inf is_meet_neg_join ~> is_meet_neg_sup add_meet_distrib_right ~> add_inf_distrib_right add_join_distrib_right ~> add_sup_distrib_right add_meet_join_distribs ~> add_sup_inf_distribs join_eq_neg_meet ~> sup_eq_neg_inf meet_eq_neg_join ~> inf_eq_neg_sup add_eq_meet_join ~> add_eq_inf_sup meet_0_imp_0 ~> inf_0_imp_0 join_0_imp_0 ~> sup_0_imp_0 meet_0_eq_0 ~> inf_0_eq_0 join_0_eq_0 ~> sup_0_eq_0 neg_meet_eq_join ~> neg_inf_eq_sup neg_join_eq_meet ~> neg_sup_eq_inf join_eq_if ~> sup_eq_if mono_meet ~> mono_inf mono_join ~> mono_sup meet_bool_eq ~> inf_bool_eq join_bool_eq ~> sup_bool_eq meet_fun_eq ~> inf_fun_eq join_fun_eq ~> sup_fun_eq meet_set_eq ~> inf_set_eq join_set_eq ~> sup_set_eq meet1_iff ~> inf1_iff meet2_iff ~> inf2_iff meet1I ~> inf1I meet2I ~> inf2I meet1D1 ~> inf1D1 meet2D1 ~> inf2D1 meet1D2 ~> inf1D2 meet2D2 ~> inf2D2 meet1E ~> inf1E meet2E ~> inf2E join1_iff ~> sup1_iff join2_iff ~> sup2_iff join1I1 ~> sup1I1 join2I1 ~> sup2I1 join1I1 ~> sup1I1 join2I2 ~> sup1I2 join1CI ~> sup1CI join2CI ~> sup2CI join1E ~> sup1E join2E ~> sup2E is_meet_Meet ~> is_meet_Inf Meet_bool_def ~> Inf_bool_def Meet_fun_def ~> Inf_fun_def Meet_greatest ~> Inf_greatest Meet_lower ~> Inf_lower Meet_set_def ~> Inf_set_def Sup_def ~> Sup_Inf Sup_bool_eq ~> Sup_bool_def Sup_fun_eq ~> Sup_fun_def Sup_set_eq ~> Sup_set_def listsp_meetI ~> listsp_infI listsp_meet_eq ~> listsp_inf_eq meet_min ~> inf_min join_max ~> sup_max * Added syntactic class "size"; overloaded constant "size" now has type "'a::size ==> bool" * Internal reorganisation of `size' of datatypes: size theorems "foo.size" are no longer subsumed by "foo.simps" (but are still simplification rules by default!); theorems "prod.size" now named "*.size". * Class "div" now inherits from class "times" rather than "type". INCOMPATIBILITY. * HOL/Finite_Set: "name-space" locales Lattice, Distrib_lattice, Linorder etc. have disappeared; operations defined in terms of fold_set now are named Inf_fin, Sup_fin. INCOMPATIBILITY. * HOL/Nat: neq0_conv no longer declared as iff. INCOMPATIBILITY. * HOL-Word: New extensive library and type for generic, fixed size machine words, with arithmetic, bit-wise, shifting and rotating operations, reflection into int, nat, and bool lists, automation for linear arithmetic (by automatic reflection into nat or int), including lemmas on overflow and monotonicity. Instantiated to all appropriate arithmetic type classes, supporting automatic simplification of numerals on all operations. * Library/Boolean_Algebra: locales for abstract boolean algebras. * Library/Numeral_Type: numbers as types, e.g. TYPE(32). * Code generator library theories: - Code_Integer represents HOL integers by big integer literals in target languages. - Code_Char represents HOL characters by character literals in target languages. - Code_Char_chr like Code_Char, but also offers treatment of character codes; includes Code_Integer. - Executable_Set allows to generate code for finite sets using lists. - Executable_Rat implements rational numbers as triples (sign, enumerator, denominator). - Executable_Real implements a subset of real numbers, namly those representable by rational numbers. - Efficient_Nat implements natural numbers by integers, which in general will result in higher efficency; pattern matching with 0/Suc is eliminated; includes Code_Integer. - Code_Index provides an additional datatype index which is mapped to target-language built-in integers. - Code_Message provides an additional datatype message_string which is isomorphic to strings; messages are mapped to target-language strings. * New package for inductive predicates An n-ary predicate p with m parameters z_1, ..., z_m can now be defined via inductive p :: "U_1 => ... => U_m => T_1 => ... => T_n => bool" for z_1 :: U_1 and ... and z_n :: U_m where rule_1: "... ==> p z_1 ... z_m t_1_1 ... t_1_n" | ... with full support for type-inference, rather than consts s :: "U_1 => ... => U_m => (T_1 * ... * T_n) set" abbreviation p :: "U_1 => ... => U_m => T_1 => ... => T_n => bool" where "p z_1 ... z_m x_1 ... x_n == (x_1, ..., x_n) : s z_1 ... z_m" inductive "s z_1 ... z_m" intros rule_1: "... ==> (t_1_1, ..., t_1_n) : s z_1 ... z_m" ... For backward compatibility, there is a wrapper allowing inductive sets to be defined with the new package via inductive_set s :: "U_1 => ... => U_m => (T_1 * ... * T_n) set" for z_1 :: U_1 and ... and z_n :: U_m where rule_1: "... ==> (t_1_1, ..., t_1_n) : s z_1 ... z_m" | ... or inductive_set s :: "U_1 => ... => U_m => (T_1 * ... * T_n) set" and p :: "U_1 => ... => U_m => T_1 => ... => T_n => bool" for z_1 :: U_1 and ... and z_n :: U_m where "p z_1 ... z_m x_1 ... x_n == (x_1, ..., x_n) : s z_1 ... z_m" | rule_1: "... ==> p z_1 ... z_m t_1_1 ... t_1_n" | ... if the additional syntax "p ..." is required. Numerous examples can be found in the subdirectories src/HOL/Auth, src/HOL/Bali, src/HOL/Induct, and src/HOL/MicroJava. INCOMPATIBILITIES: - Since declaration and definition of inductive sets or predicates is no longer separated, abbreviations involving the newly introduced sets or predicates must be specified together with the introduction rules after the 'where' keyword (see above), rather than before the actual inductive definition. - The variables in induction and elimination rules are now quantified in the order of their occurrence in the introduction rules, rather than in alphabetical order. Since this may break some proofs, these proofs either have to be repaired, e.g. by reordering the variables a_i_1 ... a_i_{k_i} in Isar 'case' statements of the form case (rule_i a_i_1 ... a_i_{k_i}) or the old order of quantification has to be restored by explicitly adding meta-level quantifiers in the introduction rules, i.e. | rule_i: "!!a_i_1 ... a_i_{k_i}. ... ==> p z_1 ... z_m t_i_1 ... t_i_n" - The format of the elimination rules is now p z_1 ... z_m x_1 ... x_n ==> (!!a_1_1 ... a_1_{k_1}. x_1 = t_1_1 ==> ... ==> x_n = t_1_n ==> ... ==> P) ==> ... ==> P for predicates and (x_1, ..., x_n) : s z_1 ... z_m ==> (!!a_1_1 ... a_1_{k_1}. x_1 = t_1_1 ==> ... ==> x_n = t_1_n ==> ... ==> P) ==> ... ==> P for sets rather than x : s z_1 ... z_m ==> (!!a_1_1 ... a_1_{k_1}. x = (t_1_1, ..., t_1_n) ==> ... ==> P) ==> ... ==> P This may require terms in goals to be expanded to n-tuples (e.g. using case_tac or simplification with the split_paired_all rule) before the above elimination rule is applicable. - The elimination or case analysis rules for (mutually) inductive sets or predicates are now called "p_1.cases" ... "p_k.cases". The list of rules "p_1_..._p_k.elims" is no longer available. * New package "function"/"fun" for general recursive functions, supporting mutual and nested recursion, definitions in local contexts, more general pattern matching and partiality. See HOL/ex/Fundefs.thy for small examples, and the separate tutorial on the function package. The old recdef "package" is still available as before, but users are encouraged to use the new package. * Method "lexicographic_order" automatically synthesizes termination relations as lexicographic combinations of size measures. * Case-expressions allow arbitrary constructor-patterns (including "_") and take their order into account, like in functional programming. Internally, this is translated into nested case-expressions; missing cases are added and mapped to the predefined constant "undefined". In complicated cases printing may no longer show the original input but the internal form. Lambda-abstractions allow the same form of pattern matching: "% pat1 => e1 | ..." is an abbreviation for "%x. case x of pat1 => e1 | ..." where x is a new variable. * IntDef: The constant "int :: nat => int" has been removed; now "int" is an abbreviation for "of_nat :: nat => int". The simplification rules for "of_nat" have been changed to work like "int" did previously. Potential INCOMPATIBILITY: - "of_nat (Suc m)" simplifies to "1 + of_nat m" instead of "of_nat m + 1" - of_nat_diff and of_nat_mult are no longer default simp rules * Method "algebra" solves polynomial equations over (semi)rings using Groebner bases. The (semi)ring structure is defined by locales and the tool setup depends on that generic context. Installing the method for a specific type involves instantiating the locale and possibly adding declarations for computation on the coefficients. The method is already instantiated for natural numbers and for the axiomatic class of idoms with numerals. See also the paper by Chaieb and Wenzel at CALCULEMUS 2007 for the general principles underlying this architecture of context-aware proof-tools. * Method "ferrack" implements quantifier elimination over special-purpose dense linear orders using locales (analogous to "algebra"). The method is already installed for class {ordered_field,recpower,number_ring} which subsumes real, hyperreal, rat, etc. * Former constant "List.op @" now named "List.append". Use ML antiquotations @{const_name List.append} or @{term " ... @ ... "} to circumvent possible incompatibilities when working on ML level. * primrec: missing cases mapped to "undefined" instead of "arbitrary". * New function listsum :: 'a list => 'a for arbitrary monoids. Special syntax: "SUM x <- xs. f x" (and latex variants) * New syntax for Haskell-like list comprehension (input only), eg. [(x,y). x <- xs, y <- ys, x ~= y], see also src/HOL/List.thy. * The special syntax for function "filter" has changed from [x : xs. P] to [x <- xs. P] to avoid an ambiguity caused by list comprehension syntax, and for uniformity. INCOMPATIBILITY. * [a..b] is now defined for arbitrary linear orders. It used to be defined on nat only, as an abbreviation for [a.. B" for equality on bool (with priority 25 like -->); output depends on the "iff" print_mode, the default is "A = B" (with priority 50). * Relations less (<) and less_eq (<=) are also available on type bool. Modified syntax to disallow nesting without explicit parentheses, e.g. "(x < y) < z" or "x < (y < z)", but NOT "x < y < z". Potential INCOMPATIBILITY. * "LEAST x:A. P" expands to "LEAST x. x:A & P" (input only). * Relation composition operator "op O" now has precedence 75 and binds stronger than union and intersection. INCOMPATIBILITY. * The old set interval syntax "{m..n(}" (and relatives) has been removed. Use "{m.. ==> False", equivalences (i.e. "=" on type bool) are handled, variable names of the form "lit_" are no longer reserved, significant speedup. * Methods "sat" and "satx" can now replay MiniSat proof traces. zChaff is still supported as well. * 'inductive' and 'datatype': provide projections of mutual rules, bundled as foo_bar.inducts; * Library: moved theories Parity, GCD, Binomial, Infinite_Set to Library. * Library: moved theory Accessible_Part to main HOL. * Library: added theory Coinductive_List of potentially infinite lists as greatest fixed-point. * Library: added theory AssocList which implements (finite) maps as association lists. * Method "evaluation" solves goals (i.e. a boolean expression) efficiently by compiling it to ML. The goal is "proved" (via an oracle) if it evaluates to True. * Linear arithmetic now splits certain operators (e.g. min, max, abs) also when invoked by the simplifier. This results in the Simplifier being more powerful on arithmetic goals. INCOMPATIBILITY. Configuration option fast_arith_split_limit=0 recovers the old behavior. * Support for hex (0x20) and binary (0b1001) numerals. * New method: reify eqs (t), where eqs are equations for an interpretation I :: 'a list => 'b => 'c and t::'c is an optional parameter, computes a term s::'b and a list xs::'a list and proves the theorem I xs s = t. This is also known as reification or quoting. The resulting theorem is applied to the subgoal to substitute t with I xs s. If t is omitted, the subgoal itself is reified. * New method: reflection corr_thm eqs (t). The parameters eqs and (t) are as explained above. corr_thm is a theorem for I vs (f t) = I vs t, where f is supposed to be a computable function (in the sense of code generattion). The method uses reify to compute s and xs as above then applies corr_thm and uses normalization by evaluation to "prove" f s = r and finally gets the theorem t = r, which is again applied to the subgoal. An Example is available in src/HOL/ex/ReflectionEx.thy. * Reflection: Automatic reification now handels binding, an example is available in src/HOL/ex/ReflectionEx.thy * HOL-Statespace: ``State Spaces: The Locale Way'' introduces a command 'statespace' that is similar to 'record', but introduces an abstract specification based on the locale infrastructure instead of HOL types. This leads to extra flexibility in composing state spaces, in particular multiple inheritance and renaming of components. *** HOL-Complex *** * Hyperreal: Functions root and sqrt are now defined on negative real inputs so that root n (- x) = - root n x and sqrt (- x) = - sqrt x. Nonnegativity side conditions have been removed from many lemmas, so that more subgoals may now be solved by simplification; potential INCOMPATIBILITY. * Real: new type classes formalize real normed vector spaces and algebras, using new overloaded constants scaleR :: real => 'a => 'a and norm :: 'a => real. * Real: constant of_real :: real => 'a::real_algebra_1 injects from reals into other types. The overloaded constant Reals :: 'a set is now defined as range of_real; potential INCOMPATIBILITY. * Real: proper support for ML code generation, including 'quickcheck'. Reals are implemented as arbitrary precision rationals. * Hyperreal: Several constants that previously worked only for the reals have been generalized, so they now work over arbitrary vector spaces. Type annotations may need to be added in some cases; potential INCOMPATIBILITY. Infinitesimal :: ('a::real_normed_vector) star set HFinite :: ('a::real_normed_vector) star set HInfinite :: ('a::real_normed_vector) star set approx :: ('a::real_normed_vector) star => 'a star => bool monad :: ('a::real_normed_vector) star => 'a star set galaxy :: ('a::real_normed_vector) star => 'a star set (NS)LIMSEQ :: [nat => 'a::real_normed_vector, 'a] => bool (NS)convergent :: (nat => 'a::real_normed_vector) => bool (NS)Bseq :: (nat => 'a::real_normed_vector) => bool (NS)Cauchy :: (nat => 'a::real_normed_vector) => bool (NS)LIM :: ['a::real_normed_vector => 'b::real_normed_vector, 'a, 'b] => bool is(NS)Cont :: ['a::real_normed_vector => 'b::real_normed_vector, 'a] => bool deriv :: ['a::real_normed_field => 'a, 'a, 'a] => bool sgn :: 'a::real_normed_vector => 'a exp :: 'a::{recpower,real_normed_field,banach} => 'a * Complex: Some complex-specific constants are now abbreviations for overloaded ones: complex_of_real = of_real, cmod = norm, hcmod = hnorm. Other constants have been entirely removed in favor of the polymorphic versions (INCOMPATIBILITY): approx <-- capprox HFinite <-- CFinite HInfinite <-- CInfinite Infinitesimal <-- CInfinitesimal monad <-- cmonad galaxy <-- cgalaxy (NS)LIM <-- (NS)CLIM, (NS)CRLIM is(NS)Cont <-- is(NS)Contc, is(NS)contCR (ns)deriv <-- (ns)cderiv *** HOL-Algebra *** * Formalisation of ideals and the quotient construction over rings. * Order and lattice theory no longer based on records. INCOMPATIBILITY. * Renamed lemmas least_carrier -> least_closed and greatest_carrier -> greatest_closed. INCOMPATIBILITY. * Method algebra is now set up via an attribute. For examples see Ring.thy. INCOMPATIBILITY: the method is now weaker on combinations of algebraic structures. * Renamed theory CRing to Ring. *** HOL-Nominal *** * Substantial, yet incomplete support for nominal datatypes (binding structures) based on HOL-Nominal logic. See src/HOL/Nominal and src/HOL/Nominal/Examples. Prospective users should consult http://isabelle.in.tum.de/nominal/ *** ML *** * ML basics: just one true type int, which coincides with IntInf.int (even on SML/NJ). * ML within Isar: antiquotations allow to embed statically-checked formal entities in the source, referring to the context available at compile-time. For example: ML {* @{sort "{zero,one}"} *} ML {* @{typ "'a => 'b"} *} ML {* @{term "%x. x"} *} ML {* @{prop "x == y"} *} ML {* @{ctyp "'a => 'b"} *} ML {* @{cterm "%x. x"} *} ML {* @{cprop "x == y"} *} ML {* @{thm asm_rl} *} ML {* @{thms asm_rl} *} ML {* @{type_name c} *} ML {* @{type_syntax c} *} ML {* @{const_name c} *} ML {* @{const_syntax c} *} ML {* @{context} *} ML {* @{theory} *} ML {* @{theory Pure} *} ML {* @{theory_ref} *} ML {* @{theory_ref Pure} *} ML {* @{simpset} *} ML {* @{claset} *} ML {* @{clasimpset} *} The same works for sources being ``used'' within an Isar context. * ML in Isar: improved error reporting; extra verbosity with ML_Context.trace enabled. * Pure/General/table.ML: the join operations now works via exceptions DUP/SAME instead of type option. This is simpler in simple cases, and admits slightly more efficient complex applications. * Pure: 'advanced' translation functions (parse_translation etc.) now use Context.generic instead of just theory. * Pure: datatype Context.generic joins theory/Proof.context and provides some facilities for code that works in either kind of context, notably GenericDataFun for uniform theory and proof data. * Pure: simplified internal attribute type, which is now always Context.generic * thm -> Context.generic * thm. Global (theory) vs. local (Proof.context) attributes have been discontinued, while minimizing code duplication. Thm.rule_attribute and Thm.declaration_attribute build canonical attributes; see also structure Context for further operations on Context.generic, notably GenericDataFun. INCOMPATIBILITY, need to adapt attribute type declarations and definitions. * Context data interfaces (Theory/Proof/GenericDataFun): removed name/print, uninitialized data defaults to ad-hoc copy of empty value, init only required for impure data. INCOMPATIBILITY: empty really need to be empty (no dependencies on theory content!) * Pure/kernel: consts certification ignores sort constraints given in signature declarations. (This information is not relevant to the logic, but only for type inference.) SIGNIFICANT INTERNAL CHANGE, potential INCOMPATIBILITY. * Pure: axiomatic type classes are now purely definitional, with explicit proofs of class axioms and super class relations performed internally. See Pure/axclass.ML for the main internal interfaces -- notably AxClass.define_class supercedes AxClass.add_axclass, and AxClass.axiomatize_class/classrel/arity supersede Sign.add_classes/classrel/arities. * Pure/Isar: Args/Attrib parsers operate on Context.generic -- global/local versions on theory vs. Proof.context have been discontinued; Attrib.syntax and Method.syntax have been adapted accordingly. INCOMPATIBILITY, need to adapt parser expressions for attributes, methods, etc. * Pure: several functions of signature "... -> theory -> theory * ..." have been reoriented to "... -> theory -> ... * theory" in order to allow natural usage in combination with the ||>, ||>>, |-> and fold_map combinators. * Pure: official theorem names (closed derivations) and additional comments (tags) are now strictly separate. Name hints -- which are maintained as tags -- may be attached any time without affecting the derivation. * Pure: primitive rule lift_rule now takes goal cterm instead of an actual goal state (thm). Use Thm.lift_rule (Thm.cprem_of st i) to achieve the old behaviour. * Pure: the "Goal" constant is now called "prop", supporting a slightly more general idea of ``protecting'' meta-level rule statements. * Pure: Logic.(un)varify only works in a global context, which is now enforced instead of silently assumed. INCOMPATIBILITY, may use Logic.legacy_(un)varify as temporary workaround. * Pure: structure Name provides scalable operations for generating internal variable names, notably Name.variants etc. This replaces some popular functions from term.ML: Term.variant -> Name.variant Term.variantlist -> Name.variant_list Term.invent_names -> Name.invent_list Note that low-level renaming rarely occurs in new code -- operations from structure Variable are used instead (see below). * Pure: structure Variable provides fundamental operations for proper treatment of fixed/schematic variables in a context. For example, Variable.import introduces fixes for schematics of given facts and Variable.export reverses the effect (up to renaming) -- this replaces various freeze_thaw operations. * Pure: structure Goal provides simple interfaces for init/conclude/finish and tactical prove operations (replacing former Tactic.prove). Goal.prove is the canonical way to prove results within a given context; Goal.prove_global is a degraded version for theory level goals, including a global Drule.standard. Note that OldGoals.prove_goalw_cterm has long been obsolete, since it is ill-behaved in a local proof context (e.g. with local fixes/assumes or in a locale context). * Pure/Syntax: generic interfaces for parsing (Syntax.parse_term etc.) and type checking (Syntax.check_term etc.), with common combinations (Syntax.read_term etc.). These supersede former Sign.read_term etc. which are considered legacy and await removal. * Pure/Syntax: generic interfaces for type unchecking (Syntax.uncheck_terms etc.) and unparsing (Syntax.unparse_term etc.), with common combinations (Syntax.pretty_term, Syntax.string_of_term etc.). Former Sign.pretty_term, Sign.string_of_term etc. are still available for convenience, but refer to the very same operations using a mere theory instead of a full context. * Isar: simplified treatment of user-level errors, using exception ERROR of string uniformly. Function error now merely raises ERROR, without any side effect on output channels. The Isar toplevel takes care of proper display of ERROR exceptions. ML code may use plain handle/can/try; cat_error may be used to concatenate errors like this: ... handle ERROR msg => cat_error msg "..." Toplevel ML code (run directly or through the Isar toplevel) may be embedded into the Isar toplevel with exception display/debug like this: Isar.toplevel (fn () => ...) INCOMPATIBILITY, removed special transform_error facilities, removed obsolete variants of user-level exceptions (ERROR_MESSAGE, Context.PROOF, ProofContext.CONTEXT, Proof.STATE, ProofHistory.FAIL) -- use plain ERROR instead. * Isar: theory setup now has type (theory -> theory), instead of a list. INCOMPATIBILITY, may use #> to compose setup functions. * Isar: ML toplevel pretty printer for type Proof.context, subject to ProofContext.debug/verbose flags. * Isar: Toplevel.theory_to_proof admits transactions that modify the theory before entering a proof state. Transactions now always see a quasi-functional intermediate checkpoint, both in interactive and batch mode. * Isar: simplified interfaces for outer syntax. Renamed OuterSyntax.add_keywords to OuterSyntax.keywords. Removed OuterSyntax.add_parsers -- this functionality is now included in OuterSyntax.command etc. INCOMPATIBILITY. * Simplifier: the simpset of a running simplification process now contains a proof context (cf. Simplifier.the_context), which is the very context that the initial simpset has been retrieved from (by simpset_of/local_simpset_of). Consequently, all plug-in components (solver, looper etc.) may depend on arbitrary proof data. * Simplifier.inherit_context inherits the proof context (plus the local bounds) of the current simplification process; any simproc etc. that calls the Simplifier recursively should do this! Removed former Simplifier.inherit_bounds, which is already included here -- INCOMPATIBILITY. Tools based on low-level rewriting may even have to specify an explicit context using Simplifier.context/theory_context. * Simplifier/Classical Reasoner: more abstract interfaces change_simpset/claset for modifying the simpset/claset reference of a theory; raw versions simpset/claset_ref etc. have been discontinued -- INCOMPATIBILITY. * Provers: more generic wrt. syntax of object-logics, avoid hardwired "Trueprop" etc. *** System *** * settings: the default heap location within ISABELLE_HOME_USER now includes ISABELLE_IDENTIFIER. This simplifies use of multiple Isabelle installations. * isabelle-process: option -S (secure mode) disables some critical operations, notably runtime compilation and evaluation of ML source code. * Basic Isabelle mode for jEdit, see Isabelle/lib/jedit/. * Support for parallel execution, using native multicore support of Poly/ML 5.1. The theory loader exploits parallelism when processing independent theories, according to the given theory header specifications. The maximum number of worker threads is specified via usedir option -M or the "max-threads" setting in Proof General. A speedup factor of 1.5--3.5 can be expected on a 4-core machine, and up to 6 on a 8-core machine. User-code needs to observe certain guidelines for thread-safe programming, see appendix A in the Isar Implementation manual. New in Isabelle2005 (October 2005) ---------------------------------- *** General *** * Theory headers: the new header syntax for Isar theories is theory imports ... uses ... begin where the 'uses' part is optional. The previous syntax theory = + ... + : will disappear in the next release. Use isatool fixheaders to convert existing theory files. Note that there is no change in ancient non-Isar theories now, but these will disappear soon. * Theory loader: parent theories can now also be referred to via relative and absolute paths. * Command 'find_theorems' searches for a list of criteria instead of a list of constants. Known criteria are: intro, elim, dest, name:string, simp:term, and any term. Criteria can be preceded by '-' to select theorems that do not match. Intro, elim, dest select theorems that match the current goal, name:s selects theorems whose fully qualified name contain s, and simp:term selects all simplification rules whose lhs match term. Any other term is interpreted as pattern and selects all theorems matching the pattern. Available in ProofGeneral under 'ProofGeneral -> Find Theorems' or C-c C-f. Example: C-c C-f (100) "(_::nat) + _ + _" intro -name: "HOL." prints the last 100 theorems matching the pattern "(_::nat) + _ + _", matching the current goal as introduction rule and not having "HOL." in their name (i.e. not being defined in theory HOL). * Command 'thms_containing' has been discontinued in favour of 'find_theorems'; INCOMPATIBILITY. * Communication with Proof General is now 8bit clean, which means that Unicode text in UTF-8 encoding may be used within theory texts (both formal and informal parts). Cf. option -U of the Isabelle Proof General interface. Here are some simple examples (cf. src/HOL/ex): http://isabelle.in.tum.de/library/HOL/ex/Hebrew.html http://isabelle.in.tum.de/library/HOL/ex/Chinese.html * Improved efficiency of the Simplifier and, to a lesser degree, the Classical Reasoner. Typical big applications run around 2 times faster. *** Document preparation *** * Commands 'display_drafts' and 'print_drafts' perform simple output of raw sources. Only those symbols that do not require additional LaTeX packages (depending on comments in isabellesym.sty) are displayed properly, everything else is left verbatim. isatool display and isatool print are used as front ends (these are subject to the DVI/PDF_VIEWER and PRINT_COMMAND settings, respectively). * Command tags control specific markup of certain regions of text, notably folding and hiding. Predefined tags include "theory" (for theory begin and end), "proof" for proof commands, and "ML" for commands involving ML code; the additional tags "visible" and "invisible" are unused by default. Users may give explicit tag specifications in the text, e.g. ''by %invisible (auto)''. The interpretation of tags is determined by the LaTeX job during document preparation: see option -V of isatool usedir, or options -n and -t of isatool document, or even the LaTeX macros \isakeeptag, \isafoldtag, \isadroptag. Several document versions may be produced at the same time via isatool usedir (the generated index.html will link all of them). Typical specifications include ''-V document=theory,proof,ML'' to present theory/proof/ML parts faithfully, ''-V outline=/proof,/ML'' to fold proof and ML commands, and ''-V mutilated=-theory,-proof,-ML'' to omit these parts without any formal replacement text. The Isabelle site default settings produce ''document'' and ''outline'' versions as specified above. * Several new antiquotations: @{term_type term} prints a term with its type annotated; @{typeof term} prints the type of a term; @{const const} is the same as @{term const}, but checks that the argument is a known logical constant; @{term_style style term} and @{thm_style style thm} print a term or theorem applying a "style" to it @{ML text} Predefined styles are 'lhs' and 'rhs' printing the lhs/rhs of definitions, equations, inequations etc., 'concl' printing only the conclusion of a meta-logical statement theorem, and 'prem1' .. 'prem19' to print the specified premise. TermStyle.add_style provides an ML interface for introducing further styles. See also the "LaTeX Sugar" document practical applications. The ML antiquotation prints type-checked ML expressions verbatim. * Markup commands 'chapter', 'section', 'subsection', 'subsubsection', and 'text' support optional locale specification '(in loc)', which specifies the default context for interpreting antiquotations. For example: 'text (in lattice) {* @{thm inf_assoc}*}'. * Option 'locale=NAME' of antiquotations specifies an alternative context interpreting the subsequent argument. For example: @{thm [locale=lattice] inf_assoc}. * Proper output of proof terms (@{prf ...} and @{full_prf ...}) within a proof context. * Proper output of antiquotations for theory commands involving a proof context (such as 'locale' or 'theorem (in loc) ...'). * Delimiters of outer tokens (string etc.) now produce separate LaTeX macros (\isachardoublequoteopen, isachardoublequoteclose etc.). * isatool usedir: new option -C (default true) controls whether option -D should include a copy of the original document directory; -C false prevents unwanted effects such as copying of administrative CVS data. *** Pure *** * Considerably improved version of 'constdefs' command. Now performs automatic type-inference of declared constants; additional support for local structure declarations (cf. locales and HOL records), see also isar-ref manual. Potential INCOMPATIBILITY: need to observe strictly sequential dependencies of definitions within a single 'constdefs' section; moreover, the declared name needs to be an identifier. If all fails, consider to fall back on 'consts' and 'defs' separately. * Improved indexed syntax and implicit structures. First of all, indexed syntax provides a notational device for subscripted application, using the new syntax \<^bsub>term\<^esub> for arbitrary expressions. Secondly, in a local context with structure declarations, number indexes \<^sub>n or the empty index (default number 1) refer to a certain fixed variable implicitly; option show_structs controls printing of implicit structures. Typical applications of these concepts involve record types and locales. * New command 'no_syntax' removes grammar declarations (and translations) resulting from the given syntax specification, which is interpreted in the same manner as for the 'syntax' command. * 'Advanced' translation functions (parse_translation etc.) may depend on the signature of the theory context being presently used for parsing/printing, see also isar-ref manual. * Improved 'oracle' command provides a type-safe interface to turn an ML expression of type theory -> T -> term into a primitive rule of type theory -> T -> thm (i.e. the functionality of Thm.invoke_oracle is already included here); see also FOL/ex/IffExample.thy; INCOMPATIBILITY. * axclass: name space prefix for class "c" is now "c_class" (was "c" before); "cI" is no longer bound, use "c.intro" instead. INCOMPATIBILITY. This change avoids clashes of fact bindings for axclasses vs. locales. * Improved internal renaming of symbolic identifiers -- attach primes instead of base 26 numbers. * New flag show_question_marks controls printing of leading question marks in schematic variable names. * In schematic variable names, *any* symbol following \<^isub> or \<^isup> is now treated as part of the base name. For example, the following works without printing of awkward ".0" indexes: lemma "x\<^isub>1 = x\<^isub>2 ==> x\<^isub>2 = x\<^isub>1" by simp * Inner syntax includes (*(*nested*) comments*). * Pretty printer now supports unbreakable blocks, specified in mixfix annotations as "(00...)". * Clear separation of logical types and nonterminals, where the latter may only occur in 'syntax' specifications or type abbreviations. Before that distinction was only partially implemented via type class "logic" vs. "{}". Potential INCOMPATIBILITY in rare cases of improper use of 'types'/'consts' instead of 'nonterminals'/'syntax'. Some very exotic syntax specifications may require further adaption (e.g. Cube/Cube.thy). * Removed obsolete type class "logic", use the top sort {} instead. Note that non-logical types should be declared as 'nonterminals' rather than 'types'. INCOMPATIBILITY for new object-logic specifications. * Attributes 'induct' and 'cases': type or set names may now be locally fixed variables as well. * Simplifier: can now control the depth to which conditional rewriting is traced via the PG menu Isabelle -> Settings -> Trace Simp Depth Limit. * Simplifier: simplification procedures may now take the current simpset into account (cf. Simplifier.simproc(_i) / mk_simproc interface), which is very useful for calling the Simplifier recursively. Minor INCOMPATIBILITY: the 'prems' argument of simprocs is gone -- use prems_of_ss on the simpset instead. Moreover, the low-level mk_simproc no longer applies Logic.varify internally, to allow for use in a context of fixed variables. * thin_tac now works even if the assumption being deleted contains !! or ==>. More generally, erule now works even if the major premise of the elimination rule contains !! or ==>. * Method 'rules' has been renamed to 'iprover'. INCOMPATIBILITY. * Reorganized bootstrapping of the Pure theories; CPure is now derived from Pure, which contains all common declarations already. Both theories are defined via plain Isabelle/Isar .thy files. INCOMPATIBILITY: elements of CPure (such as the CPure.intro / CPure.elim / CPure.dest attributes) now appear in the Pure name space; use isatool fixcpure to adapt your theory and ML sources. * New syntax 'name(i-j, i-, i, ...)' for referring to specific selections of theorems in named facts via index ranges. * 'print_theorems': in theory mode, really print the difference wrt. the last state (works for interactive theory development only), in proof mode print all local facts (cf. 'print_facts'); * 'hide': option '(open)' hides only base names. * More efficient treatment of intermediate checkpoints in interactive theory development. * Code generator is now invoked via code_module (incremental code generation) and code_library (modular code generation, ML structures for each theory). INCOMPATIBILITY: new keywords 'file' and 'contains' must be quoted when used as identifiers. * New 'value' command for reading, evaluating and printing terms using the code generator. INCOMPATIBILITY: command keyword 'value' must be quoted when used as identifier. *** Locales *** * New commands for the interpretation of locale expressions in theories (1), locales (2) and proof contexts (3). These generate proof obligations from the expression specification. After the obligations have been discharged, theorems of the expression are added to the theory, target locale or proof context. The synopsis of the commands is a follows: (1) interpretation expr inst (2) interpretation target < expr (3) interpret expr inst Interpretation in theories and proof contexts require a parameter instantiation of terms from the current context. This is applied to specifications and theorems of the interpreted expression. Interpretation in locales only permits parameter renaming through the locale expression. Interpretation is smart in that interpretations that are active already do not occur in proof obligations, neither are instantiated theorems stored in duplicate. Use 'print_interps' to inspect active interpretations of a particular locale. For details, see the Isar Reference manual. Examples can be found in HOL/Finite_Set.thy and HOL/Algebra/UnivPoly.thy. INCOMPATIBILITY: former 'instantiate' has been withdrawn, use 'interpret' instead. * New context element 'constrains' for adding type constraints to parameters. * Context expressions: renaming of parameters with syntax redeclaration. * Locale declaration: 'includes' disallowed. * Proper static binding of attribute syntax -- i.e. types / terms / facts mentioned as arguments are always those of the locale definition context, independently of the context of later invocations. Moreover, locale operations (renaming and type / term instantiation) are applied to attribute arguments as expected. INCOMPATIBILITY of the ML interface: always pass Attrib.src instead of actual attributes; rare situations may require Attrib.attribute to embed those attributes into Attrib.src that lack concrete syntax. Attribute implementations need to cooperate properly with the static binding mechanism. Basic parsers Args.XXX_typ/term/prop and Attrib.XXX_thm etc. already do the right thing without further intervention. Only unusual applications -- such as "where" or "of" (cf. src/Pure/Isar/attrib.ML), which process arguments depending both on the context and the facts involved -- may have to assign parsed values to argument tokens explicitly. * Changed parameter management in theorem generation for long goal statements with 'includes'. INCOMPATIBILITY: produces a different theorem statement in rare situations. * Locale inspection command 'print_locale' omits notes elements. Use 'print_locale!' to have them included in the output. *** Provers *** * Provers/hypsubst.ML: improved version of the subst method, for single-step rewriting: it now works in bound variable contexts. New is 'subst (asm)', for rewriting an assumption. INCOMPATIBILITY: may rewrite a different subterm than the original subst method, which is still available as 'simplesubst'. * Provers/quasi.ML: new transitivity reasoners for transitivity only and quasi orders. * Provers/trancl.ML: new transitivity reasoner for transitive and reflexive-transitive closure of relations. * Provers/blast.ML: new reference depth_limit to make blast's depth limit (previously hard-coded with a value of 20) user-definable. * Provers/simplifier.ML has been moved to Pure, where Simplifier.setup is peformed already. Object-logics merely need to finish their initial simpset configuration as before. INCOMPATIBILITY. *** HOL *** * Symbolic syntax of Hilbert Choice Operator is now as follows: syntax (epsilon) "_Eps" :: "[pttrn, bool] => 'a" ("(3\_./ _)" [0, 10] 10) The symbol \ is displayed as the alternative epsilon of LaTeX and x-symbol; use option '-m epsilon' to get it actually printed. Moreover, the mathematically important symbolic identifier \ becomes available as variable, constant etc. INCOMPATIBILITY, * "x > y" abbreviates "y < x" and "x >= y" abbreviates "y <= x". Similarly for all quantifiers: "ALL x > y" etc. The x-symbol for >= is \. New transitivity rules have been added to HOL/Orderings.thy to support corresponding Isar calculations. * "{x:A. P}" abbreviates "{x. x:A & P}", and similarly for "\" instead of ":". * theory SetInterval: changed the syntax for open intervals: Old New {..n(} {.. {\1<\.\.} \.\.\([^(}]*\)(} -> \.\.<\1} * Theory Commutative_Ring (in Library): method comm_ring for proving equalities in commutative rings; method 'algebra' provides a generic interface. * Theory Finite_Set: changed the syntax for 'setsum', summation over finite sets: "setsum (%x. e) A", which used to be "\x:A. e", is now either "SUM x:A. e" or "\x \ A. e". The bound variable can be a tuple pattern. Some new syntax forms are available: "\x | P. e" for "setsum (%x. e) {x. P}" "\x = a..b. e" for "setsum (%x. e) {a..b}" "\x = a..x < k. e" for "setsum (%x. e) {..x < k. e" used to be based on a separate function "Summation", which has been discontinued. * theory Finite_Set: in structured induction proofs, the insert case is now 'case (insert x F)' instead of the old counterintuitive 'case (insert F x)'. * The 'refute' command has been extended to support a much larger fragment of HOL, including axiomatic type classes, constdefs and typedefs, inductive datatypes and recursion. * New tactics 'sat' and 'satx' to prove propositional tautologies. Requires zChaff with proof generation to be installed. See HOL/ex/SAT_Examples.thy for examples. * Datatype induction via method 'induct' now preserves the name of the induction variable. For example, when proving P(xs::'a list) by induction on xs, the induction step is now P(xs) ==> P(a#xs) rather than P(list) ==> P(a#list) as previously. Potential INCOMPATIBILITY in unstructured proof scripts. * Reworked implementation of records. Improved scalability for records with many fields, avoiding performance problems for type inference. Records are no longer composed of nested field types, but of nested extension types. Therefore the record type only grows linear in the number of extensions and not in the number of fields. The top-level (users) view on records is preserved. Potential INCOMPATIBILITY only in strange cases, where the theory depends on the old record representation. The type generated for a record is called _ext_type. Flag record_quick_and_dirty_sensitive can be enabled to skip the proofs triggered by a record definition or a simproc (if quick_and_dirty is enabled). Definitions of large records can take quite long. New simproc record_upd_simproc for simplification of multiple record updates enabled by default. Moreover, trivial updates are also removed: r(|x := x r|) = r. INCOMPATIBILITY: old proofs break occasionally, since simplification is more powerful by default. * typedef: proper support for polymorphic sets, which contain extra type-variables in the term. * Simplifier: automatically reasons about transitivity chains involving "trancl" (r^+) and "rtrancl" (r^*) by setting up tactics provided by Provers/trancl.ML as additional solvers. INCOMPATIBILITY: old proofs break occasionally as simplification may now solve more goals than previously. * Simplifier: converts x <= y into x = y if assumption y <= x is present. Works for all partial orders (class "order"), in particular numbers and sets. For linear orders (e.g. numbers) it treats ~ x < y just like y <= x. * Simplifier: new simproc for "let x = a in f x". If a is a free or bound variable or a constant then the let is unfolded. Otherwise first a is simplified to b, and then f b is simplified to g. If possible we abstract b from g arriving at "let x = b in h x", otherwise we unfold the let and arrive at g. The simproc can be enabled/disabled by the reference use_let_simproc. Potential INCOMPATIBILITY since simplification is more powerful by default. * Classical reasoning: the meson method now accepts theorems as arguments. * Prover support: pre-release of the Isabelle-ATP linkup, which runs background jobs to provide advice on the provability of subgoals. * Theory OrderedGroup and Ring_and_Field: various additions and improvements to faciliate calculations involving equalities and inequalities. The following theorems have been eliminated or modified (INCOMPATIBILITY): abs_eq now named abs_of_nonneg abs_of_ge_0 now named abs_of_nonneg abs_minus_eq now named abs_of_nonpos imp_abs_id now named abs_of_nonneg imp_abs_neg_id now named abs_of_nonpos mult_pos now named mult_pos_pos mult_pos_le now named mult_nonneg_nonneg mult_pos_neg_le now named mult_nonneg_nonpos mult_pos_neg2_le now named mult_nonneg_nonpos2 mult_neg now named mult_neg_neg mult_neg_le now named mult_nonpos_nonpos * The following lemmas in Ring_and_Field have been added to the simplifier: zero_le_square not_square_less_zero The following lemmas have been deleted from Real/RealPow: realpow_zero_zero realpow_two realpow_less zero_le_power realpow_two_le abs_realpow_two realpow_two_abs * Theory Parity: added rules for simplifying exponents. * Theory List: The following theorems have been eliminated or modified (INCOMPATIBILITY): list_all_Nil now named list_all.simps(1) list_all_Cons now named list_all.simps(2) list_all_conv now named list_all_iff set_mem_eq now named mem_iff * Theories SetsAndFunctions and BigO (see HOL/Library) support asymptotic "big O" calculations. See the notes in BigO.thy. *** HOL-Complex *** * Theory RealDef: better support for embedding natural numbers and integers in the reals. The following theorems have been eliminated or modified (INCOMPATIBILITY): exp_ge_add_one_self now requires no hypotheses real_of_int_add reversed direction of equality (use [symmetric]) real_of_int_minus reversed direction of equality (use [symmetric]) real_of_int_diff reversed direction of equality (use [symmetric]) real_of_int_mult reversed direction of equality (use [symmetric]) * Theory RComplete: expanded support for floor and ceiling functions. * Theory Ln is new, with properties of the natural logarithm * Hyperreal: There is a new type constructor "star" for making nonstandard types. The old type names are now type synonyms: hypreal = real star hypnat = nat star hcomplex = complex star * Hyperreal: Many groups of similarly-defined constants have been replaced by polymorphic versions (INCOMPATIBILITY): star_of <-- hypreal_of_real, hypnat_of_nat, hcomplex_of_complex starset <-- starsetNat, starsetC *s* <-- *sNat*, *sc* starset_n <-- starsetNat_n, starsetC_n *sn* <-- *sNatn*, *scn* InternalSets <-- InternalNatSets, InternalCSets starfun <-- starfun{Nat,Nat2,C,RC,CR} *f* <-- *fNat*, *fNat2*, *fc*, *fRc*, *fcR* starfun_n <-- starfun{Nat,Nat2,C,RC,CR}_n *fn* <-- *fNatn*, *fNat2n*, *fcn*, *fRcn*, *fcRn* InternalFuns <-- InternalNatFuns, InternalNatFuns2, Internal{C,RC,CR}Funs * Hyperreal: Many type-specific theorems have been removed in favor of theorems specific to various axiomatic type classes (INCOMPATIBILITY): add_commute <-- {hypreal,hypnat,hcomplex}_add_commute add_assoc <-- {hypreal,hypnat,hcomplex}_add_assocs OrderedGroup.add_0 <-- {hypreal,hypnat,hcomplex}_add_zero_left OrderedGroup.add_0_right <-- {hypreal,hcomplex}_add_zero_right right_minus <-- hypreal_add_minus left_minus <-- {hypreal,hcomplex}_add_minus_left mult_commute <-- {hypreal,hypnat,hcomplex}_mult_commute mult_assoc <-- {hypreal,hypnat,hcomplex}_mult_assoc mult_1_left <-- {hypreal,hypnat}_mult_1, hcomplex_mult_one_left mult_1_right <-- hcomplex_mult_one_right mult_zero_left <-- hcomplex_mult_zero_left left_distrib <-- {hypreal,hypnat,hcomplex}_add_mult_distrib right_distrib <-- hypnat_add_mult_distrib2 zero_neq_one <-- {hypreal,hypnat,hcomplex}_zero_not_eq_one right_inverse <-- hypreal_mult_inverse left_inverse <-- hypreal_mult_inverse_left, hcomplex_mult_inv_left order_refl <-- {hypreal,hypnat}_le_refl order_trans <-- {hypreal,hypnat}_le_trans order_antisym <-- {hypreal,hypnat}_le_anti_sym order_less_le <-- {hypreal,hypnat}_less_le linorder_linear <-- {hypreal,hypnat}_le_linear add_left_mono <-- {hypreal,hypnat}_add_left_mono mult_strict_left_mono <-- {hypreal,hypnat}_mult_less_mono2 add_nonneg_nonneg <-- hypreal_le_add_order * Hyperreal: Separate theorems having to do with type-specific versions of constants have been merged into theorems that apply to the new polymorphic constants (INCOMPATIBILITY): STAR_UNIV_set <-- {STAR_real,NatStar_real,STARC_complex}_set STAR_empty_set <-- {STAR,NatStar,STARC}_empty_set STAR_Un <-- {STAR,NatStar,STARC}_Un STAR_Int <-- {STAR,NatStar,STARC}_Int STAR_Compl <-- {STAR,NatStar,STARC}_Compl STAR_subset <-- {STAR,NatStar,STARC}_subset STAR_mem <-- {STAR,NatStar,STARC}_mem STAR_mem_Compl <-- {STAR,STARC}_mem_Compl STAR_diff <-- {STAR,STARC}_diff STAR_star_of_image_subset <-- {STAR_hypreal_of_real, NatStar_hypreal_of_real, STARC_hcomplex_of_complex}_image_subset starset_n_Un <-- starset{Nat,C}_n_Un starset_n_Int <-- starset{Nat,C}_n_Int starset_n_Compl <-- starset{Nat,C}_n_Compl starset_n_diff <-- starset{Nat,C}_n_diff InternalSets_Un <-- Internal{Nat,C}Sets_Un InternalSets_Int <-- Internal{Nat,C}Sets_Int InternalSets_Compl <-- Internal{Nat,C}Sets_Compl InternalSets_diff <-- Internal{Nat,C}Sets_diff InternalSets_UNIV_diff <-- Internal{Nat,C}Sets_UNIV_diff InternalSets_starset_n <-- Internal{Nat,C}Sets_starset{Nat,C}_n starset_starset_n_eq <-- starset{Nat,C}_starset{Nat,C}_n_eq starset_n_starset <-- starset{Nat,C}_n_starset{Nat,C} starfun_n_starfun <-- starfun{Nat,Nat2,C,RC,CR}_n_starfun{Nat,Nat2,C,RC,CR} starfun <-- starfun{Nat,Nat2,C,RC,CR} starfun_mult <-- starfun{Nat,Nat2,C,RC,CR}_mult starfun_add <-- starfun{Nat,Nat2,C,RC,CR}_add starfun_minus <-- starfun{Nat,Nat2,C,RC,CR}_minus starfun_diff <-- starfun{C,RC,CR}_diff starfun_o <-- starfun{NatNat2,Nat2,_stafunNat,C,C_starfunRC,_starfunCR}_o starfun_o2 <-- starfun{NatNat2,_stafunNat,C,C_starfunRC,_starfunCR}_o2 starfun_const_fun <-- starfun{Nat,Nat2,C,RC,CR}_const_fun starfun_inverse <-- starfun{Nat,C,RC,CR}_inverse starfun_eq <-- starfun{Nat,Nat2,C,RC,CR}_eq starfun_eq_iff <-- starfun{C,RC,CR}_eq_iff starfun_Id <-- starfunC_Id starfun_approx <-- starfun{Nat,CR}_approx starfun_capprox <-- starfun{C,RC}_capprox starfun_abs <-- starfunNat_rabs starfun_lambda_cancel <-- starfun{C,CR,RC}_lambda_cancel starfun_lambda_cancel2 <-- starfun{C,CR,RC}_lambda_cancel2 starfun_mult_HFinite_approx <-- starfunCR_mult_HFinite_capprox starfun_mult_CFinite_capprox <-- starfun{C,RC}_mult_CFinite_capprox starfun_add_capprox <-- starfun{C,RC}_add_capprox starfun_add_approx <-- starfunCR_add_approx starfun_inverse_inverse <-- starfunC_inverse_inverse starfun_divide <-- starfun{C,CR,RC}_divide starfun_n <-- starfun{Nat,C}_n starfun_n_mult <-- starfun{Nat,C}_n_mult starfun_n_add <-- starfun{Nat,C}_n_add starfun_n_add_minus <-- starfunNat_n_add_minus starfun_n_const_fun <-- starfun{Nat,C}_n_const_fun starfun_n_minus <-- starfun{Nat,C}_n_minus starfun_n_eq <-- starfun{Nat,C}_n_eq star_n_add <-- {hypreal,hypnat,hcomplex}_add star_n_minus <-- {hypreal,hcomplex}_minus star_n_diff <-- {hypreal,hcomplex}_diff star_n_mult <-- {hypreal,hcomplex}_mult star_n_inverse <-- {hypreal,hcomplex}_inverse star_n_le <-- {hypreal,hypnat}_le star_n_less <-- {hypreal,hypnat}_less star_n_zero_num <-- {hypreal,hypnat,hcomplex}_zero_num star_n_one_num <-- {hypreal,hypnat,hcomplex}_one_num star_n_abs <-- hypreal_hrabs star_n_divide <-- hcomplex_divide star_of_add <-- {hypreal_of_real,hypnat_of_nat,hcomplex_of_complex}_add star_of_minus <-- {hypreal_of_real,hcomplex_of_complex}_minus star_of_diff <-- hypreal_of_real_diff star_of_mult <-- {hypreal_of_real,hypnat_of_nat,hcomplex_of_complex}_mult star_of_one <-- {hypreal_of_real,hcomplex_of_complex}_one star_of_zero <-- {hypreal_of_real,hypnat_of_nat,hcomplex_of_complex}_zero star_of_le <-- {hypreal_of_real,hypnat_of_nat}_le_iff star_of_less <-- {hypreal_of_real,hypnat_of_nat}_less_iff star_of_eq <-- {hypreal_of_real,hypnat_of_nat,hcomplex_of_complex}_eq_iff star_of_inverse <-- {hypreal_of_real,hcomplex_of_complex}_inverse star_of_divide <-- {hypreal_of_real,hcomplex_of_complex}_divide star_of_of_nat <-- {hypreal_of_real,hcomplex_of_complex}_of_nat star_of_of_int <-- {hypreal_of_real,hcomplex_of_complex}_of_int star_of_number_of <-- {hypreal,hcomplex}_number_of star_of_number_less <-- number_of_less_hypreal_of_real_iff star_of_number_le <-- number_of_le_hypreal_of_real_iff star_of_eq_number <-- hypreal_of_real_eq_number_of_iff star_of_less_number <-- hypreal_of_real_less_number_of_iff star_of_le_number <-- hypreal_of_real_le_number_of_iff star_of_power <-- hypreal_of_real_power star_of_eq_0 <-- hcomplex_of_complex_zero_iff * Hyperreal: new method "transfer" that implements the transfer principle of nonstandard analysis. With a subgoal that mentions nonstandard types like "'a star", the command "apply transfer" replaces it with an equivalent one that mentions only standard types. To be successful, all free variables must have standard types; non- standard variables must have explicit universal quantifiers. * Hyperreal: A theory of Taylor series. *** HOLCF *** * Discontinued special version of 'constdefs' (which used to support continuous functions) in favor of the general Pure one with full type-inference. * New simplification procedure for solving continuity conditions; it is much faster on terms with many nested lambda abstractions (cubic instead of exponential time). * New syntax for domain package: selector names are now optional. Parentheses should be omitted unless argument is lazy, for example: domain 'a stream = cons "'a" (lazy "'a stream") * New command 'fixrec' for defining recursive functions with pattern matching; defining multiple functions with mutual recursion is also supported. Patterns may include the constants cpair, spair, up, sinl, sinr, or any data constructor defined by the domain package. The given equations are proven as rewrite rules. See HOLCF/ex/Fixrec_ex.thy for syntax and examples. * New commands 'cpodef' and 'pcpodef' for defining predicate subtypes of cpo and pcpo types. Syntax is exactly like the 'typedef' command, but the proof obligation additionally includes an admissibility requirement. The packages generate instances of class cpo or pcpo, with continuity and strictness theorems for Rep and Abs. * HOLCF: Many theorems have been renamed according to a more standard naming scheme (INCOMPATIBILITY): foo_inject: "foo$x = foo$y ==> x = y" foo_eq: "(foo$x = foo$y) = (x = y)" foo_less: "(foo$x << foo$y) = (x << y)" foo_strict: "foo$UU = UU" foo_defined: "... ==> foo$x ~= UU" foo_defined_iff: "(foo$x = UU) = (x = UU)" *** ZF *** * ZF/ex: theories Group and Ring provide examples in abstract algebra, including the First Isomorphism Theorem (on quotienting by the kernel of a homomorphism). * ZF/Simplifier: install second copy of type solver that actually makes use of TC rules declared to Isar proof contexts (or locales); the old version is still required for ML proof scripts. *** Cube *** * Converted to Isar theory format; use locales instead of axiomatic theories. *** ML *** * Pure/library.ML: added ##>, ##>>, #>> -- higher-order counterparts for ||>, ||>>, |>>, * Pure/library.ML no longer defines its own option datatype, but uses that of the SML basis, which has constructors NONE and SOME instead of None and Some, as well as exception Option.Option instead of OPTION. The functions the, if_none, is_some, is_none have been adapted accordingly, while Option.map replaces apsome. * Pure/library.ML: the exception LIST has been given up in favour of the standard exceptions Empty and Subscript, as well as Library.UnequalLengths. Function like Library.hd and Library.tl are superceded by the standard hd and tl functions etc. A number of basic list functions are no longer exported to the ML toplevel, as they are variants of predefined functions. The following suggests how one can translate existing code: rev_append xs ys = List.revAppend (xs, ys) nth_elem (i, xs) = List.nth (xs, i) last_elem xs = List.last xs flat xss = List.concat xss seq fs = List.app fs partition P xs = List.partition P xs mapfilter f xs = List.mapPartial f xs * Pure/library.ML: several combinators for linear functional transformations, notably reverse application and composition: x |> f f #> g (x, y) |-> f f #-> g * Pure/library.ML: introduced/changed precedence of infix operators: infix 1 |> |-> ||> ||>> |>> |>>> #> #->; infix 2 ?; infix 3 o oo ooo oooo; infix 4 ~~ upto downto; Maybe INCOMPATIBILITY when any of those is used in conjunction with other infix operators. * Pure/library.ML: natural list combinators fold, fold_rev, and fold_map support linear functional transformations and nesting. For example: fold f [x1, ..., xN] y = y |> f x1 |> ... |> f xN (fold o fold) f [xs1, ..., xsN] y = y |> fold f xs1 |> ... |> fold f xsN fold f [x1, ..., xN] = f x1 #> ... #> f xN (fold o fold) f [xs1, ..., xsN] = fold f xs1 #> ... #> fold f xsN * Pure/library.ML: the following selectors on type 'a option are available: the: 'a option -> 'a (*partial*) these: 'a option -> 'a where 'a = 'b list the_default: 'a -> 'a option -> 'a the_list: 'a option -> 'a list * Pure/General: structure AList (cf. Pure/General/alist.ML) provides basic operations for association lists, following natural argument order; moreover the explicit equality predicate passed here avoids potentially expensive polymorphic runtime equality checks. The old functions may be expressed as follows: assoc = uncurry (AList.lookup (op =)) assocs = these oo AList.lookup (op =) overwrite = uncurry (AList.update (op =)) o swap * Pure/General: structure AList (cf. Pure/General/alist.ML) provides val make: ('a -> 'b) -> 'a list -> ('a * 'b) list val find: ('a * 'b -> bool) -> ('c * 'b) list -> 'a -> 'c list replacing make_keylist and keyfilter (occassionally used) Naive rewrites: make_keylist = AList.make keyfilter = AList.find (op =) * eq_fst and eq_snd now take explicit equality parameter, thus avoiding eqtypes. Naive rewrites: eq_fst = eq_fst (op =) eq_snd = eq_snd (op =) * Removed deprecated apl and apr (rarely used). Naive rewrites: apl (n, op) =>>= curry op n apr (op, m) =>>= fn n => op (n, m) * Pure/General: structure OrdList (cf. Pure/General/ord_list.ML) provides a reasonably efficient light-weight implementation of sets as lists. * Pure/General: generic tables (cf. Pure/General/table.ML) provide a few new operations; existing lookup and update are now curried to follow natural argument order (for use with fold etc.); INCOMPATIBILITY, use (uncurry Symtab.lookup) etc. as last resort. * Pure/General: output via the Isabelle channels of writeln/warning/error etc. is now passed through Output.output, with a hook for arbitrary transformations depending on the print_mode (cf. Output.add_mode -- the first active mode that provides a output function wins). Already formatted output may be embedded into further text via Output.raw; the result of Pretty.string_of/str_of and derived functions (string_of_term/cterm/thm etc.) is already marked raw to accommodate easy composition of diagnostic messages etc. Programmers rarely need to care about Output.output or Output.raw at all, with some notable exceptions: Output.output is required when bypassing the standard channels (writeln etc.), or in token translations to produce properly formatted results; Output.raw is required when capturing already output material that will eventually be presented to the user a second time. For the default print mode, both Output.output and Output.raw have no effect. * Pure/General: Output.time_accumulator NAME creates an operator ('a -> 'b) -> 'a -> 'b to measure runtime and count invocations; the cumulative results are displayed at the end of a batch session. * Pure/General: File.sysify_path and File.quote_sysify path have been replaced by File.platform_path and File.shell_path (with appropriate hooks). This provides a clean interface for unusual systems where the internal and external process view of file names are different. * Pure: more efficient orders for basic syntactic entities: added fast_string_ord, fast_indexname_ord, fast_term_ord; changed sort_ord and typ_ord to use fast_string_ord and fast_indexname_ord (term_ord is NOT affected); structures Symtab, Vartab, Typtab, Termtab use the fast orders now -- potential INCOMPATIBILITY for code that depends on a particular order for Symtab.keys, Symtab.dest, etc. (consider using Library.sort_strings on result). * Pure/term.ML: combinators fold_atyps, fold_aterms, fold_term_types, fold_types traverse types/terms from left to right, observing natural argument order. Supercedes previous foldl_XXX versions, add_frees, add_vars etc. have been adapted as well: INCOMPATIBILITY. * Pure: name spaces have been refined, with significant changes of the internal interfaces -- INCOMPATIBILITY. Renamed cond_extern(_table) to extern(_table). The plain name entry path is superceded by a general 'naming' context, which also includes the 'policy' to produce a fully qualified name and external accesses of a fully qualified name; NameSpace.extend is superceded by context dependent Sign.declare_name. Several theory and proof context operations modify the naming context. Especially note Theory.restore_naming and ProofContext.restore_naming to get back to a sane state; note that Theory.add_path is no longer sufficient to recover from Theory.absolute_path in particular. * Pure: new flags short_names (default false) and unique_names (default true) for controlling output of qualified names. If short_names is set, names are printed unqualified. If unique_names is reset, the name prefix is reduced to the minimum required to achieve the original result when interning again, even if there is an overlap with earlier declarations. * Pure/TheoryDataFun: change of the argument structure; 'prep_ext' is now 'extend', and 'merge' gets an additional Pretty.pp argument (useful for printing error messages). INCOMPATIBILITY. * Pure: major reorganization of the theory context. Type Sign.sg and Theory.theory are now identified, referring to the universal Context.theory (see Pure/context.ML). Actual signature and theory content is managed as theory data. The old code and interfaces were spread over many files and structures; the new arrangement introduces considerable INCOMPATIBILITY to gain more clarity: Context -- theory management operations (name, identity, inclusion, parents, ancestors, merge, etc.), plus generic theory data; Sign -- logical signature and syntax operations (declaring consts, types, etc.), plus certify/read for common entities; Theory -- logical theory operations (stating axioms, definitions, oracles), plus a copy of logical signature operations (consts, types, etc.); also a few basic management operations (Theory.copy, Theory.merge, etc.) The most basic sign_of operations (Theory.sign_of, Thm.sign_of_thm etc.) as well as the sign field in Thm.rep_thm etc. have been retained for convenience -- they merely return the theory. * Pure: type Type.tsig is superceded by theory in most interfaces. * Pure: the Isar proof context type is already defined early in Pure as Context.proof (note that ProofContext.context and Proof.context are aliases, where the latter is the preferred name). This enables other Isabelle components to refer to that type even before Isar is present. * Pure/sign/theory: discontinued named name spaces (i.e. classK, typeK, constK, axiomK, oracleK), but provide explicit operations for any of these kinds. For example, Sign.intern typeK is now Sign.intern_type, Theory.hide_space Sign.typeK is now Theory.hide_types. Also note that former Theory.hide_classes/types/consts are now Theory.hide_classes_i/types_i/consts_i, while the non '_i' versions internalize their arguments! INCOMPATIBILITY. * Pure: get_thm interface (of PureThy and ProofContext) expects datatype thmref (with constructors Name and NameSelection) instead of plain string -- INCOMPATIBILITY; * Pure: cases produced by proof methods specify options, where NONE means to remove case bindings -- INCOMPATIBILITY in (RAW_)METHOD_CASES. * Pure: the following operations retrieve axioms or theorems from a theory node or theory hierarchy, respectively: Theory.axioms_of: theory -> (string * term) list Theory.all_axioms_of: theory -> (string * term) list PureThy.thms_of: theory -> (string * thm) list PureThy.all_thms_of: theory -> (string * thm) list * Pure: print_tac now outputs the goal through the trace channel. * Isar toplevel: improved diagnostics, mostly for Poly/ML only. Reference Toplevel.debug (default false) controls detailed printing and tracing of low-level exceptions; Toplevel.profiling (default 0) controls execution profiling -- set to 1 for time and 2 for space (both increase the runtime). * Isar session: The initial use of ROOT.ML is now always timed, i.e. the log will show the actual process times, in contrast to the elapsed wall-clock time that the outer shell wrapper produces. * Simplifier: improved handling of bound variables (nameless representation, avoid allocating new strings). Simprocs that invoke the Simplifier recursively should use Simplifier.inherit_bounds to avoid local name clashes. Failure to do so produces warnings "Simplifier: renamed bound variable ..."; set Simplifier.debug_bounds for further details. * ML functions legacy_bindings and use_legacy_bindings produce ML fact bindings for all theorems stored within a given theory; this may help in porting non-Isar theories to Isar ones, while keeping ML proof scripts for the time being. * ML operator HTML.with_charset specifies the charset begin used for generated HTML files. For example: HTML.with_charset "utf-8" use_thy "Hebrew"; HTML.with_charset "utf-8" use_thy "Chinese"; *** System *** * Allow symlinks to all proper Isabelle executables (Isabelle, isabelle, isatool etc.). * ISABELLE_DOC_FORMAT setting specifies preferred document format (for isatool doc, isatool mkdir, display_drafts etc.). * isatool usedir: option -f allows specification of the ML file to be used by Isabelle; default is ROOT.ML. * New isatool version outputs the version identifier of the Isabelle distribution being used. * HOL: new isatool dimacs2hol converts files in DIMACS CNF format (containing Boolean satisfiability problems) into Isabelle/HOL theories. New in Isabelle2004 (April 2004) -------------------------------- *** General *** * Provers/order.ML: new efficient reasoner for partial and linear orders. Replaces linorder.ML. * Pure: Greek letters (except small lambda, \), as well as Gothic (\...\\...\), calligraphic (\...\), and Euler (\...\), are now considered normal letters, and can therefore be used anywhere where an ASCII letter (a...zA...Z) has until now. COMPATIBILITY: This obviously changes the parsing of some terms, especially where a symbol has been used as a binder, say '\x. ...', which is now a type error since \x will be parsed as an identifier. Fix it by inserting a space around former symbols. Call 'isatool fixgreek' to try to fix parsing errors in existing theory and ML files. * Pure: Macintosh and Windows line-breaks are now allowed in theory files. * Pure: single letter sub/superscripts (\<^isub> and \<^isup>) are now allowed in identifiers. Similar to Greek letters \<^isub> is now considered a normal (but invisible) letter. For multiple letter subscripts repeat \<^isub> like this: x\<^isub>1\<^isub>2. * Pure: There are now sub-/superscripts that can span more than one character. Text between \<^bsub> and \<^esub> is set in subscript in ProofGeneral and LaTeX, text between \<^bsup> and \<^esup> in superscript. The new control characters are not identifier parts. * Pure: Control-symbols of the form \<^raw:...> will literally print the content of "..." to the latex file instead of \isacntrl... . The "..." may consist of any printable characters excluding the end bracket >. * Pure: Using new Isar command "finalconsts" (or the ML functions Theory.add_finals or Theory.add_finals_i) it is now possible to declare constants "final", which prevents their being given a definition later. It is useful for constants whose behaviour is fixed axiomatically rather than definitionally, such as the meta-logic connectives. * Pure: 'instance' now handles general arities with general sorts (i.e. intersections of classes), * Presentation: generated HTML now uses a CSS style sheet to make layout (somewhat) independent of content. It is copied from lib/html/isabelle.css. It can be changed to alter the colors/layout of generated pages. *** Isar *** * Tactic emulation methods rule_tac, erule_tac, drule_tac, frule_tac, cut_tac, subgoal_tac and thin_tac: - Now understand static (Isar) contexts. As a consequence, users of Isar locales are no longer forced to write Isar proof scripts. For details see Isar Reference Manual, paragraph 4.3.2: Further tactic emulations. - INCOMPATIBILITY: names of variables to be instantiated may no longer be enclosed in quotes. Instead, precede variable name with `?'. This is consistent with the instantiation attribute "where". * Attributes "where" and "of": - Now take type variables of instantiated theorem into account when reading the instantiation string. This fixes a bug that caused instantiated theorems to have too special types in some circumstances. - "where" permits explicit instantiations of type variables. * Calculation commands "moreover" and "also" no longer interfere with current facts ("this"), admitting arbitrary combinations with "then" and derived forms. * Locales: - Goal statements involving the context element "includes" no longer generate theorems with internal delta predicates (those ending on "_axioms") in the premise. Resolve particular premise with .intro to obtain old form. - Fixed bug in type inference ("unify_frozen") that prevented mix of target specification and "includes" elements in goal statement. - Rule sets .intro and .axioms no longer declared as [intro?] and [elim?] (respectively) by default. - Experimental command for instantiation of locales in proof contexts: instantiate
  • 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 z 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 diff --git a/src/Doc/JEdit/document/bibtex-mode.png b/src/Doc/JEdit/document/bibtex-mode.png index a366cf890ec2b45165a52b583c36cb19cfb2a21e..f3f833f3f8f649cdf3b0960ef77d270e0dd43025 GIT binary patch literal 240455 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 diff --git a/src/Doc/JEdit/document/cite-completion.png b/src/Doc/JEdit/document/cite-completion.png index 82e4504a09fbd916ca42d6f94648ca9d87faf8bc..127bdb496613cda00a5090dbf34d8bd7a9fc2142 GIT binary patch literal 137316 zc%1CIWmKG7wl-S01t&mocXxMpcZb5=A&>w8f&?dcaDqc{*Ff;#5?q73`}eZoF^U2Cpq&NY29DqKZL8W|A}5d;Du%gRWofk04WAP^)MJS?!%*kke? z1fo9i)zEQQGxZ{Ic6G9}u?Lg5`#6J1z}_~NAdvTbd4`Rv0dIWp^9Gh1^udtJH|XKt zux<~x1hT4X$<3t;W%8O7^r^SY;tWJbfdLthE6+yP!Vm0fyG+S5`$f~|%0xar1E@>y zpWYnXo!t8SKNB2J&X#tx9jRTOK4SUEI^DL8G~C`2QB@{q5#PAPe0%qP>9TUA=gA|d z(%8>%nR-TM^f`hZ~Z||#wRxX~88gTHm z_(Jdta2Z23S7x7lg7Tlm()?z%jbiR-JG8&WwMSJ(n#QgqU2n8pci`=ClRw`KJmy_W zKh=*r{fIf=C)_2r*X^+HL4E%qN%MT-d)NN{;qu4sefauu2aVv@4uKe{-@eBT|#80D_km&~6gAD+B%T@&oJa(dJtzWtN>WCpiU zXO;ZzcEgy#A3?{3+Wn!u{d20?24H^sYze-2P$PE z^=Ks2V72u%QgfwZsaZ1G?`^jVNXKneJ$RRFbHU_tCB4mR<%^*oK>@P&?Mp3w{7~YrEk|3#r1ZtDcR`lep`%?Gy%dZhP-I5J6!XhJ5=0h z26ksp1N8J2wP$pt74>&`c8=Xv+lHP?4%dQL0;l;<3K_ohyH*)CU2kMee?@58%{a`p z_RK4Cuek0zG_1I6H_W!T-X#k^2hMgU&#s>*F3+~N{V1)dBTj}7N+8Qxt4e_)aykP+ z5N@%ri2qd0Oc;F#qmT?2u!wV7L^#7`8pbwjT3hfE7QA-49r^s^bj$ekWjn**dgUbJ zyT|*>1>#mujqR)RIcg-ZdRBkCzOJd;hlWHK$1P)1g_Y}*K1T%bNA>taET$^6mSq1v zg%KuVV>_4E?*v?q-VJa4#DCl~oo!rabSY2BGxp58H5vjfB_4DBI6w&T93p7YQqL`K z@uaUhz+8mfL{YM7*fMK{6aSheeB@U>9dhXX8+^|-I%=eo%+i>}9o4eHP%+FY<Ff7G(nXTtnZcpms>y`45bHkX2-$Ty-UuH-w) zj$l!Yrwi1jbNm$saiXXQv=-*>8qm@s-^ zO1B@_@NV)~Z_zI{<&|%YNL77tc_%yTv?VE^_GGDoZv-D<*rAh#cJ5jhgV!X!8$t%iyv_FH~@#herZQw%$b&|1X2U zq{Y?fs5$6&j!0Zre4OViGL}|i2|oiK8XaK5klIW<^mz!W(I>cU%gkXQS&yJ@;y2I; zuq%r|AQbMkx)$!!*9>c%-%3?}ny*+qocSlFk7OA>mIYD5U-Xi3pA?lEtl6Hz9VK82 z{hr5!-6XVIwc^1!aC1oc^U zdJbuxP-=*O;}@hVb^aqK0c6@5>RA)A4>SV|GlD$3p{Y&P=6tVh9-*@%lv93tmcRy= zG8)E#_r0@hXDcSAY(>q~!MOIW4pEbk_Ik)kHc5?jw2bvt(jcN~AY7&TEy?!WM}vfwhEj(h zydwJGN!%tR)fqu#{9C!R*N^VIX&ob~%XVq7LY&4KBa^+l%l zXR(N?FcTAgwNAQzxiq}bSRAMZw1;^rX{b0-GzoOdgn4xJYu-3X7b#f=BHzx}kYpFW z(Tg;T)>F+XijoA18^vv{d9d5Ue^%g4-lRI_YJd`kVKR6eHo<~23taqk%KB

    J`QQ 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

    *7GB>yUYrRkgv4LCXI?or{ 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

    SbhN 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 E51 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ÿzspH<6 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 MWz9$BidGT-52fMKWB>pF diff --git a/src/Doc/JEdit/document/popup1.png b/src/Doc/JEdit/document/popup1.png index d5b710f7cc22826cdff0a9a6109c5007ce446ed2..7a969f9f5496c1e4f583b187b833050ce0ba7afa GIT binary patch literal 52840 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 diff --git a/src/Doc/JEdit/document/popup2.png b/src/Doc/JEdit/document/popup2.png index fb57e0db010017025eab71ef7fefae0cf875dc76..a8a983708ba1c32ad001d12262e0bd27210ca593 GIT binary patch literal 60904 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ɒc&7p)?q=on^Gs!7>raW3myl2~WgNU* z>V84(_7OPUyT0DQtbziCQZfiK3iVCD8j%4~jroL#kr81eS(uoL6PE|Q8$sgIsE_FE zQbmO-90(3Bj>YC$GT1kGcH_*YDi@nCEQC3!5{N~xaQ|19-r-gYk z9B+Dp#YOD`l?ft_3_)kO9jKB0Z#$74qf=8u*J$N4-y3F#Z8SUXYJ<9QIV#!ga8xD; z$^x%MVy?*FNk|}}4Ej$F$Y*eaI*_Banelh;O~x1 zecG?7W*EtScYWFFHn}KF`TC5{FifCC%{m4i2`56pTGNVUF4&0S74&-=Z)X>z}g=*=1$HZ>Zur&N{@QGO5@5KVby;}v*(ay0YtUX^u}iCLBr)F;Za< zXDw#oB z){jp?-`y`&S@b%#jCPUQQP_>W%xf(k?j!-YG%z$Y@2j<12)H@#{5}>Zwa_@EKbE&| zG{>M>4-cTxw{PRrGlu~E)?I4xelJ1(6jzPLP6CtKjilt$gANp1$oc$*9ecdik5C=< zrk|Cl*ZfQu)EI8@+xTfSDNpp}1{?fp2VSoo3r-ACT>l3RgzMh)|5tJ6(#lko!1 zvzySP<3gVnPo1jmRoxHCJ%(eOB~YTBSLP)Onytg`>5iBStxi3w#wg*JQC8+y^!ARq zSR5CmW@SZ+QO4SxwB(xOdbLT7*eI#5}tI5NMOsxywDG0H^zFAHEOcl#tr5F{fWnK(p~eAv*a_n2GhJ( zyPo}+O_h?7A%jP_AE~p(c5!o~`t$P*w6X}0T(P-YW)NsFBT7=@C&=S!#iT!tpWyfy z^;69s>=o*|CVtPb6;_RX!AAQwA3x~F(b%Ui0yEJz>e z;-Zt10{s2?Uu#TOy&Lq&j-~mmj|~R`6gqU*%3947GCT;#_;4T!iqh?|eExW5ogfN9 zKJ&R!wJKB~eT-C_(pb)vYI%z);@{n!eop0cM9zNe`9xS)2U^eq+59bNb}YAhvY3v3 zN)>j7vu@%g-1zO9vSIlF2&0WxumX_cjstKcz>!f~9~z(T&yn7;1o?Bc)BD{J(q%Ad z&1QW_s0D$*NF^M70j)xjaSWqaNx^!r}C z{Gg)O`xUO&Q+!3{T*X?oJ16 zX<3OgJh>JaY+g~*-CZVC1O>hhr3Q3#fpSRrJT^Z+`D_il_mO;lELxnro7<~b^68P^ zzrX#OV^>~P^hGjEWwkrPg;DmLq+J0_kS*mMjDUhgLqpR?4ZRf0_BD2uk7i z8piv#57G~mPpk>hn3j`n-MxVv5K>e{HtU`|WJ5)Z=q8AIs}4=Prx zf@4(Yc&qTWRjskou(^Nn$B!RkVDJmt++`~>K4oxMZ}gg;v8t$hKmf7d;nfwQ7fbNA z52`OnI_6-2tamvn_&vJ3yu4G=$W({&1wY>MhSR$ zraSxkPD4_wgghJd{*2G?cncARJuBXcUAFq15jT?k~*Ks~4iwMg(r{~V@za~q5;NXrN z_^9tFef)@vXV1E%C^o;K6&)XM<>^JiZz(ssOzUfLAygll~uIe8R{C}y7CR(<7T=S9f*gSc>mM3az5~$Gcp$rZQ={z0c zrdLkxF&!^Z9m$dAZ+d*7-5$wi=dzj)6c37AOR;XLe)j`7*2cksMPssDRPbAwO&P^x z=|cE(@x^Xmq$(B{n?-EhNk9?Ps}xK2M3$`VYY|$NmL45Buzz4TcqbfAbPVTqv41ZCuKNv0dPN?xrY564?9HwMqVtgGVBXHz=)qzw`flKjA0J{t%&+gPOkm-FsiNEloA1C zG?eaJw|E0uXl%x?wq_2eeB>HT`|(97f6#1BwT!|aT;$c=$J`n+KF%=?i1^7e9pASR z>5Raj6xyyKPgk1~zmmBk1E!)>iTXr^?b=7cF>TbAW!mBl@s`s^`k7Kl#N1Z+fC{Gp zgyGIk5|OYMKA`A))kwxVQ}1ui``M!=OERQRHzP)Bc15OVc8+F@*PxJM=?VM|r@hB-QhIqO5Ij(lcHBFl=x_AX@!I(&iv;e zK@MILiq&sSBE!S|j>8lkv4b+S*aYpoGVXU@p<2iO#Q2RlIggj+QSJI;aY{j&g z-O-$IrWHomUOz%BCTrj3EF58F)ZZzEVezl~*lx}LF1%*`QxJoGeF)7Gi8uU*B|_U; z=UEM8K_LI(da^{lL4S$bNv0rKFQGB4+3pKzc+fVYsP3|iL{vmo6+68TpyTnC#H$85 zAjp8=bR*Ld095YFh^*J$LW5+T|1e2QWlRuR&p#`^|7RKqd?|`b2o=NbHZ@3-%m2X* zhXylzV?dV$Fjk+^ScvQ$^wV$L05fGAgjQW(y~BzV(Ek=tI1_uKJrHKExG^|MR zUv=rv5wN>PH$?Fz*FJ#3wSQY|;PDhe%rH`UA%7eEcPaKiy!zK6H9TR|QaP|k;8u2z zm#7&$8vV5h!B`Xr;Me67N&h$pcUxlY%iuo?>ZCn0<7YCkU*hp4eSpXbLg4*p2p44* zk|n|5f384HFPY^lHVUlnv?1=!^Of;$ACuBC1{kSGFh4@O3@FTm>d?Q3DdGcz7P<2G zlQb>}GN|_7-a_LfVT*8o3+1x~B%q*dnE7KyqSb3Gh~A-&&|{td7QpQ;zq#h8DcD51#F@?T!m`!maM;v?|)%prM$|624vJqUr2 zAQ+D+`Toa+z*PNr!2tph1Lk7CPZv`D12hb?R=dZC8R$YgzQn;}b4ybhF<^e5!(;OWEx1bVyh-Cd!n| zIE|sN7)+g&KfLX%TKP1+oOtZ^Nc~OwxtKh*rE`NhhnIu{nmt((u|CnD-B=K_O+pYZVW&k3;g{0zZkb=v#1fB)mK z1zi-UUwg^>v3Z7TEMH!#!ER%DdHIW8XW(;A&I#(J*&6e;;Y@L)P1WHWR{d_>4u4ch zmG(=@!_9$|kt*Y%kFKn7oBHTzXdNAr=#25I1qyHg#)_z@#CJKy-5TC_08qd1S?ls( zp(H-#+c*Cy9dB|WA)(hwc^G^S+g}O_3Op`r+%FF#-7tlvCGTAsWT!N>nY5dNr?lNM z3FuY)ZxTR2Ssj3vR~&^I}gg zzI$MR!cV&}!Uw@@M)RR+=;pg|6oiQ9JK@bmVaT%%y3SwH`6bwr#EWNMP~{&u2+o>^EwTD}u` zW0;eg2mxhWOjnl*VC&(<#SB$LIL4?D?!Xh-4U1Ap%6}|dXR2I4s z-WI^Sg?%c>WjV{iVL6L`adF`~X)PuOABahcY;A2_-_WqK;Jn1Cp)-7O*+X92Ee3&P zdEQ>&Ahz$Zt0}mamX^9c=rlO(t5-B@qw(c+bVpSg4T$Z})&OJ;g_4pI`hw!)<72Ke zX0+LFb6Ky=7zY7UppS#@=?bDUwL?tfbF563wzFds6Bj>jN1>cnHj$CRpr)Y# zSSe}M1`slY2lEZt&B$0}1tl7_7R0XrY6vb;Svgwiggzv?Kry?&w$)+hX{ly|uW^QF zZQC81`cknP`+Sot9tt*v$M*ZdT^B7)&F@pYA2x(bM1!mA2GN-QLjykE9fcMT;?yYV(Rf1x zA{_j6qj)BsUUFjM0QXOVyl>E>AAbZo3TJdiE-`f!hLd-sms!Mb-d#%+YZ8<+%caSU zPjXtS!yQ;*O}DI3b6N34{V?SgGm$-S|eX!S(bN^u0XT!gn}D zs%1>^8DUv`Th}wyrg+^Eq(SyugBxnCKtAXJuJNe#@gDp3@~~&6Gw66Fh;kOl0JcFT z6~n$r=qDHo=yZppxgU%k*%!SZJ)z+QOc;jRsSlz(%F|aB>NRH27XvZrw1hAGa9%sv z=pzzvDIeGktM1~xT&GpalM#JT|BHcKdPJ$2|tD#r@JD@yvY2R``+l;Bw*4=fg;WJxf>!1ivGpk z3?XIX?o?T}Qoh{qj)TiV!xl6uEVbn1u!J72^uN)oVgVCid#;YzYO%@m^x>J)Ef89@ zy`Hi==Wf$;bLNK&3kxOM-h+dKDyQM$;Xi@QrC6lGcy)aZeXL-;*FB%rLZjiSSKRvP zQF%sBjrr8-`mfmO3Vjr>s}+=Djk>`-ss4LY`BWaC5{)`D)7aQpTs%C#jlKlv{m|FQ zM|t~o)=QC;URQ9>n6)`HGSbo_fU(tI=?M5#Z}R*BNYd2g113L%aiI?>Rw>mC0e~UX zdhXkS8w(ZZFXozq}MSEt8z7*S$)eZ<&^Y8iyaB|vudQc-Hon|ZB zM7V!;zj_AgpAP#~Z%cz|YRdcWU2og30>m&veKnQnB-3H-N{>VD3}-czRN;)^xjOc* zF)S~F7wQ>6r#zIg{@=b?RGW;z z+eu6clyRoEO`H-YvCt@Lx## zz7DXSA*dZm?p~`8v$GC?pTkP z-jDe;;|4}Xt3V_edHR!bnjr#sCwDTbQwL3}NSnsHH$dv8W@9^vCNKL1$cB+3Rc4R# z3DtVHbGljpHGzQb-m8VaF$wxWXUQ-^y_>V0=}N;eHHx*Ks2)I-g(oILA7+{bL@o5) zAt0G_0b&#^vNr41`@n*N*U*8qUTWbweC)K)0g&4k4HdN=Ff}?g6~nLn3y@YbMg5SE zj*nf<20J^wD6lDo!oPo~YPwntJ32Y(p!B}eq7$5_Ix3`)qK6r|7z(> zz@h5jH!j|+AtI3_QB9Vyq$pd;Hra{_lQr1~qwL!trIfuaA)=SEYh>(8LYC}f9s9n_ zVC;tR`=0mzceyUhxXzq&zRz>tpZhr1dB7oaw|YKb8IXjgu!(3zbyU5YmC=80D-C;7 z^&vFlf;V<9B!u*)CdOkTnu*uAC|elTeeM}$PeJYUKZJ7MK?(C3zwt#p_LJV+$~Gr0 zEg?20#=49!F~J&0=~u@UK6+5}Szdj^!kJtUrVI4Ae%ylL0oVQOLv#p)skT8^Pw&Ir z+4p(IMlNkd#h{6qq@<*6CtbQDMxp~81xTMgu!u5WEg z^i#*zfEa6%g>~zCS&p8f1=Z#W-AeRh8nF zpK{RQh8Ak5xMBYGH@VdC@FOL91_lurj1dlpI}8;IPtVL0lx>0EW!?KIhW7N-0J|8I zl=P;%`+j*k6$*zu$-xV(wPIGdG{;+NTH9C4; z5?NZm)R*&9NSIv&4kt}a%5|?kb|kH=x>urwnYhJo-7QL_9_6^Q8yGNPUHLA{$h>7d zB}YHppw^twLRqu3w{6qb``dY}#86=~8H`*U#9cNs-yS-m*t(42^Sn#0kY&qUs{ly; zqhypP!FL0em=`<4_l$ROG>4v^?b}HV#(0&$okI*4eG9W3XG$#kI`YBNno#ae2k5mK z$b#emU}$!o1c?(g`N*Gb%LVp*-Vxs|DfJcD8bi`wx4{tbF#nC z{5)uN4J4A!(9p2-+=U`VU*EKJ%1l%!G}cL@DT2EP$b5LEAdMCHesQ4Se05EYPRF)k zx6H6#)L@Y%I|Bnld1d9rTen80^^s~TLa%dkn+NP>bkzO)D!nLO$JOPTzXgvAkc>=BA$4`Cno<03T}I22e+H#1xYH{8@2CUFodVP! zE24!YPy>PQmevthSG!9cjZzi8*?8b)!I>~dX69b1`z=L9k!#n^B*M*qTwTN@5p_08 zl=I~$0?sUSr4L$w#V%%iuFGB@L?PnJ0U!ba50AfMa8XWJ3IFIB}8c6N)4PLDk|zRuI5-P$Q3jrjnz(9XG;r1MCPpTxZteL zQ4sLu=KalulIL@67o87_@t_7`(xUAr!@311arRfl(WOlFVfOVlHutftFk*gfWNK?XNgx)8ci(a;yBJ8UJ7iaCy zUt%)KG9ivwpr7|zkM6u1s=h?e#Ka3QP{UcH(4>b6ffz=r5<7&Ua{~LI}gH9gmR9Fz+Lka)>N093;RohMM48b zmX=nPrKP1xE8g47cm>a8E~uTRroMRER@JHf8iA6){@cjNCZI7P$=B>v)~WN<6SV-m zpht0c5#P-~wZ%Qp4^rOQh0e6b@f!axgDaAxV(wC^^_$E$zkjO_4G*j3^ex52$J6of z@My<{IpIlTY~mn>LDC{_T*!rJ09A0;(2yz=1A+FHD-29bOe3n*gg{PPQ%w+2+7cvL zXohM76>oWyP)0$%W8Ya@b36YMhX81z-uPF z-Y$CfS-X|;lo!1yA}lM5ZFrb@d0?ZtaLm0tXv|~+L#&9P9y$FQ9OO-e|N9FUmuD&; zc}UhVkRS3fkJvMCR!x0Ru7^;*T5xrBRobEZLiNFN9wQ^;ZBPg9`{cQRI-|qG!*vkR zta`s9d;pfbvz;`1xS*tJYHAAkf|8QN3Jx&lP#s3q(8x#_!Rb0t8~OIkl}~|E3%Ecv zcP&?~DEt80uo7cvFo;>un88=$yWwNCr2NY`^6? zoqeB-)Oh&l?~9aPAHj&_%{|d%WWkH$+tJa{;joCu7$5HWPn$bCnt6{4q`gUIDQ-fl zP75}i53qL9v~+~Y*=ONNEUo)r^)xA7pA|e7HDf=x92}#F3~@Q(bk9sRG+&=mROHBn zT^Q8U0`E59Sr3*UL$$3raTOf#PYWhSw>bs`XNlkTa)6eI-_pN{(l*VfI?`3^?ibi- zxDRgiSO{tOcdi|i_!ZC>dV70|0k-6AJ0Gk{0=EYNumAHg%z+X*9YvsSrXOFpbqndA z4vZNTfpvR=Fqp?5^^*RP^B#;l0A zQfd%j)Eo01$uEJbUWCKh)@pVILHN%1f*a`THv_3DJ-c+xzH_o8`P$=fYrm;iJnMs& zm}E)HVpcSIYw>|uU6268BX2lF*2n$V9FPA@1W{a|Aps+3vnXJ= ztEgD8WV*B#Wo!p;2!GDpTZkXrnD+u30mm+6-**M0Ti#xaq-yheA7#SH{>U#nnBEKBy;C*c*?FlUgE3Ns*q+?j-~~T4cIy8sc(Q~{-k)PQ*Yav-%Om&&uTAmf(h?0ItAeHi z+iy|?!q%R17xyz;TVWZQp5?JtC?o+LJa+??ggWE3!lY^DK5<3G^PtagJ__*N=+DrVJV;xno8E2aPoyb&Lm8_)U|%*t!Zg%-+?V0S zd4a&q|NEKR z{rU5d#cXVBIP_(+daVw9+3o{71&3ZB4)#ga9fpFpO8yx`(_F}1L1CV!&f)7YnBUFK zPI@aX(Lyb_iJ*6YlQTd;_yBtO+w4dJu^38Cz)qn_X>|0bx(}F%1V?_h%ezt$p=5D~ zBOp;5l(jk=0AuXtt-b1lK8weWKOI6@tV`GD=yU?PB8H2%iEcO0- zKOR4eJ31P?>!?x&T7D|gGN{2mJ@EBZV|XLrByhydv#s$$OR9-L4XqFNHhe(S#v~-X zj)^(FN~q{V`Ba4>f9Q~XVQrwW&jL>W^GBQbeHU64eWV4m|6gz@EYSG?QN9Oc5<;aX z3j_v$D>e_`pZ!^l^tOSEegP%>=IvFVZzZd!m4cr;Y@B9h`8X3_AB7C3N9;qRI)DC1 zPabSnDR}IS7rzD+2Ds^@m)FJKz8B~nvx`vzRq{7Mw6)NjSrE(ki#ZfV(2_*$o-PzB zJhS6F%|E-nChbvtvyKL1Ea&Xy_I~UQyn!b8V_v3kyBIB%NExen@~A-PDM?ep*;^t% zS;mImt|Mu~ZKYfa&=zEWXDMCkK@0rSDi3!jj;VvwZ2jQO0Bc`T!nOYS(|!4Rd!YSg z?<0#RSkGe`8ag59UVthu)|U+I%^$^$@8{?Xm;eRT+vU3E)JkK=k*?bH$2I~!EsJCNJ%$-Zw^-rs~y!PeZE0yq``*1fCMG7e=j(RI{k3&;8moOb1$`K550=G6FJ0np4L$_PPV1O@w3+5x zPz=px*xU2bO}q6|n=IZoBk3A3?KfG{GjpgESJAUpC=nM>srk>$9TaDjkO9oov%j!F z_36_%G%27rtD-q)*EhHDW1NLl^hHvJ)=D~tTH?!J3G5iG>^XV zs}T%m7iz|KspRRk_|ySGp9H-f_>InICQ@F)4(EH{Wu#OM*kMFzC=fPhnLaD`o8!~j zutEmG^U9rFBHWTS7I&JMZ6~Luf>-?ebmn9%s=Rm-;S+PM*;;44?{9pCF^eMZczDRI z5{VD8b$J0COsx)Mb8~Z{`~P)y!{X!PZ+Ln>kaPdd2uxOHW=w4C2{$*l z#s6*tYt9Leq*JV_s1Ozrp~D<)C*C;iLkeVK(V@$)8pJ<5JPdksXJ-fP;n8oGE^8a37?U81 zNGbiz^*x35xyFN17n1$5Rk}ZI97Tjm@cj{x&_y;?X}8~(NT0(7B)IA9dwF@CoKH+m zegEMD7g$5#>({wMFVv5X34pDR>>#ZINrapDQo4vt2dPJoK-vjeT}3^!w{NtPt_Pp} z1&yUf*(G+irUSA!1RjzC^wv(Qb@$He+uyov#D|CjydJ;Mx1T+APxqs(m`D*53rY2A z=miJI7stKQk&!7?hnNLXoILtVm>A(;MOw zT$Z26eM=rli-^qITpBJWQv@|v((U1`@%~)Yy}Z7q3kXh8M6X>5e#xU4i|r%J%@x6z ZsY2;1RRe>3HU~7|1EHa>UUIkl$I(b6mNdH)FKuM_3_UZHHo74K+^W+(!?F z8%)k-_gS~H_v7QK-KLv`&kNv^*5~$NwE5xT1H~qNx9|24Z{Op~Q`P4evfFAzpO>v6 z=!8@Jhk-7Bvdx&Bvyf+(JO{pBVOH2meb*Zcal-QSn_GG=m3ztWCB z`4W3~=;0>(8e4mT9`9m==rihQPSl&s^U2`hPxNn_pY7GHKWk4cZhBR2dhwNKv>Hu6 zVk&OD)J(JwHwKN&J~fW!3~u)QJbA%+KJOSIa--k*b$hZ5eecw0Q8aP!RjqEgT z#7tiwx>~7wOzp!5&WpCbA^A1v#b3t|si9ujgcM{vTUHX}b6eVxv{1j69H#b0j7J@| z{S~BG2$_B)S~}C-mUvxp({?NlzPFld?xnz2RFXyBjAU_8oACRb4S9!0LP_adgz0b7<=pVo>s!5 zd{_OB)TipYBg^vY+8-3&t{cF`b=OT}`G{ns)Edk2HslP-7D%N`@6poYEZ@Pj6pi-7 zAKJE^C%4?E&xeil)vqU$Z+%wV->oh@q^hm>I|to#t@!ECpeRN8`i&W3c{cXIA-G1( zxGWurUHK9MnHd%$Z*F?YqTQ5Tm8@60!dl^P7 zB9fAs)J9(L!(&Dff9$K$2B*`RK<>$DcvbqYf_FSx+`kEll)PMRIaTqG3$@#PMGW`; zT;nl&3bW<((Dm@r{zGPI-kW-ShLf>+yG`FB1*06`cvjmNdlPCB#Gtx8499Y1k>U~lVnS&YDA5iIW1Q7MdnM~OkK^*nmb#TkHhr(c0BNEo!qxQ;>iWC zuW)rRKn(`i6+1^`jh1fJfmOv@I|-4D*k)5d_$VYKnHL%*)7vV^bXYI~Km9zZ-pOpl2>Gd9 zlNhY0VL!aLZA#gRb^5C{Qg5aw-JKQLo5_{D^V(C!b^)wv+(@@?*x`xIcH=%_AB=u3 zeZ65cD>2q%eiqVUT?1pvq`o2=x8m>GxEpA_-!N$^5I$VrCuYS~=dM zLkRXbW_^#DfDW?uZYR9_w&L75&}bPGvYMKL?CZbxSgXh6DW~-Gbl0`&*LNI#z0ur3 z-m9q!wV6#nB&6EbJD^{#y6wJ#&eQcjq%;QGhluMSj(uvI~bRg|QYc6+^^T&~#UWoApF*=FYVC#qyIPA2~>CO9NC5}1< zJ0jk#awNo5U^ac=o@k2XsAr|T1JqT}dE|T-9rhLajCs(ijtNH-`CtqZYE0$l4STT1 zH5Dv1>ANbW#cW^dQaJ@|6qsmG0`nL&`|j}q@v{y{)(!pA7`}=L`Yd{}@BzPx=yj!Z zP=r!7Ghatbx{=nM!;647@X1YpHF!3??kpkX7ISDYd%6(5gR{uevoV8s_Q2Vnxt2+|>!X~y?YF|kv zVWwZ}>;10-rW|R`Uq9dQ)E#fSoypx^rPUo@?9@LdnTW`nWWIwh9{hA2s~JQkcG+Nx zCjntxQHWrW_+HGF3?j)KlB7A2J2XW|;tS@YdY#waL+$7isL~HD@G@viB1?HRmnC?=w z5FdC7v-eP+FJv_l9ub6Lc^^(n{Wg0j1Q23Ss~h1hQn5Rml5mGmB0V5Y_NK8kDO5|m zAw48bg_O_$JoTb`$s$Ly^i!4t3|1ZJKZttYIH|-jZ6%o^M}&z3?*dU3#~rn5Od|z@ zDeUQydS$TAPr@gHEfr+&>%xBd0ijaAU$oG9`h{p0fWewa{E&??AlR3cJc`6nL61aO z2U;n!DXiO`Cj#47~2sac6#qsvk@A= z_Z+I_mFL;ck>gmh5o+snDDg%1vAMugWIvZctleFfkm1!z?R=;}cJSwx?*(YD*Gf0$ zo%S`yllf)LK}&2xuT3!%B%MSNy<0NI8YN;pt_$T<5*ck%w?ym;!aHb6L`Wiph#y_f zh7jLMN!iP1z?*TDuyx=aWx8mfvQo`f^@yqil*$CERHv4q>}O*|2Ag0)Zw&1w7wC_j ze-!2xjs5_YOV-?k&S+y(5>OJad|7Ht($c~5>?)}WF~2@?O=^FSJ^fvZGh zXzvPa#cz-t17U&Cm{8qFU}ol;RDdxTlWGpw*vQ^EdGft{*JmQWHvTuTijh)!_g!`v zZht-zfQX-akIdZj+y;6rDhHW-=qEtPxsGJ4SN^p!cl`t+K9U9$l3jo^nYLB__n17u zQw^=RfBYG>c(FjTqH-WYE7U_?@cVjJUXiql5>h(wO5q!=LaV{#A-Bz^QpluwMIc5yl( zL<-+a*9}U;WOu)T>E4NE^53I2iq3K0fT0CHGkqX)5E&60RaV@B5EBTiy3Z$4><4fY zl-r07_5XzCQ;sGvL6(X{8}U9BeE2REr|8keEhIo{n`%#kFhYp34_7wDKODNoAaSV+ zVS_<8_r4a&?KC@ZY-pQY<>MOEwmIsPu;7@uXR9@Yw;_>)%2xB%rxk$M+^v}5?Q6kg`j?_~ZU2SR%_E&*jA<JC4#->HMk^`fep3U_o&gKRSQ;PY}wHK<9(PqGHxFOBx#G(_-VCIdNqZJ)0L_&;Y75IWd# zpdxBE|Ei^f&Rpq6Mo#bP6!jlS(`3Sri*ln+ibpMwYP|PE6_30_;G+n4Je?AcexFb= zA<2IlrNjdXhI+CEvz{Ves4ldMPH&l+{uomt3MEqnQ4lp|GEi_ExKyYr@Ay&4WiV~3U%}Bl?m4cTRXAg98pxMHPlBd zx~qG|>RqKCDiV%$VN%kZOBi7Saj;BH0YD>64JjW^tho|cay5!$OUMR^R5=`>uz3F( zId`kGeRpf|g{<5ra;4tR85s%9Q!-Q-p4e>&7kQ>2FMpwEiOy7krcmZhoN- zJ??1cv5LatXcn^S!kQ;hDn(F^{@S=H=1D`OR>y=HR;UY!%w>0j1Z3Q)@R&^ERJf&% zatpy6>7U4ih=P>^ManMJU2Y68jYgE?-`&yqrbGmoDZLJ{K`LEStASmcAccen>_Bw$ z2KyBqNhhM9ZhqZOG#$+NDo=mZA?x+4KLnrP=rP=sUL(RYU!|- zE9_l0IDcBpTc2I8B$0&d0koK6wIsFlYX-g?RjpdW7pl>uc@&|zvI+vq+_9EmD}sT- zd|d>1M@?;`%cBorOd?#U&0t?~VX#H8T_9%{78V`{bRcWc^C@5t+#&qwAscb86rW`= z2%JN7l8#Cj_E^XXk#+?&QMGvMr7lPUUDMBdN#O;3hAc5AA$6%lO0*dFkf(#JKNy8N zVIIK6H-D031lvPQ0e&kjDA zV0%}@ie6i!oO3`#osq<<=p%qb;zV@cXAr5!Qv+eM;X|npCCgHoKzLGolmW+J&e1~( zU?$2V&y&0_Rz9?>@qmmDlAU}a4>J^DXJs-Z>GR`37hf93n;uwIDw(PG`-G!cGxH#F zz;-xOy3!JY!x0uzbI^#C6-fY{4nmp0rJsOqjFgD&9-~EM4+{hO?$CT!>Y7m;oR}kW zv=$&q^+~u?Y^zK)6q9Fg%Rco?f(0!cPccv}&{MhV)80|OYO!m4&vtgN^(oWbBSQ0T zdHDU;`#f}tOanQ^cQ-GJ2@J7PN5fC62?$$BHgU;d(vFsC$Z$dwMponDW~0qaN>bb< zKZv!q*+Ated6Sujm;^I&U~sg&?gQm3M)3|-))m)^m{G+eBb0HDZlkIE!hH=^la zmU7h>i@XKg6?~_~X{IaZ8lFlgxS|(q?Z6;s#SY+OsgEnmwHl?>jPmP0ikK^Bl36#O zN}GU_uDB~^Z0q!F3DB0XkqIS|S;961!|1b!U>y)2x%lT+_LtPgVkY)mURzv&%~V$5 z>5ZPpJT51HJQ|Bb$fXTbN29?>$WuaR6P_>V5D;~m8zk@90bq&xI7Dj5nI-Lgd?(pT zog=H32(Oy8Gu;@5{PAn^&!9+>tvVRKT&knUFYfa(nct?>0?&z3i4Gv06vy+N2j`pw z2x+JY(%*-mL;@Nm8T?gh4PBMU-JOmga$h|M)pq0Y{l&A2Y0N)8yg&JXLf#tSmm`{J+J zg6kBk5!HexKQ6gWmIPPvpfFqrC53enR{~ zT!)*TTkx1BlG`R1pZKo1pEG@h7|x#GS=WKavdjSqcYEI9MP~ z?F+(25Z~C56e<{j|5y+eBu7hB$DA2yEb(QvO%Ma_mw=+-48Mxx=nvq{^EHJ7;7(-V z)09)TiU0*@oXqnah?hJ=awCYEJJJweh6Y#e%O@vu=J z=T5OC2(YvSyKzjkr+DdCOS=Ik?6(jJ|9LOx{YBG?ZNgTs6&#*@Nx^`yH_}4??L~kmjd(qc zowB695r6*+l$DiYR0O`t;KP0;FUFG#;+SM@F2XL;*Dchc{#bxeTx4-<@sX`^!Oy)! zDMiR2#99rbwPqhr>`#JJVO-sYVD9LJFT(PlG;Zo3U3s{KRmU zYT(nNZ7(t~kr5wI1tHP%0^j56wdaV~&9{W?agrmIOe`duthygz!u|Z1(I+(qYhYpc zzD6TM#%Nl4onuCLR_=z&#u0L?v%g2J??hS`+o)7mAuZkS0IwwH<8=W0u2^Z$ecQ`V z1@`N>fGlB`2=FmC~*-;R1*T1S=6wepFXKQr1QEgEG!rmjEI|cSDMsi zDE4Z_H9&cP-j$h8bF|jeVgBpXoaKe#r-!kxaUEg=w-E+MP?JXu@3L_7iYmDyD{u&* zaHSOsd>~O|%M`{bWjK7qkH}2+w$k+L5jLR6Xo?9D{5`P_#APXwsR5z^OoVXx@yZzU zWP|!KzmTgJMCv0^B(go(1=k2AwWQGCBD|Mz5&RQ-f&|p+2)+Q~!dMpWiCY6U6PbS6 zToLa_aE(jTIO$N12PJth(2wVtp0^mZsW0-CHYmq#u(gaVAc~1W3ym3P(h{xZ}0My*i%o6*p-m(rd+*S>vOlf(U< zQiivIpTe{J13@q$zPb%>o_*ffjwuF^IdxpNl--PYga^JzTd$`6fJEgV5H|VN?N*7Q zJTTE9i4V&`5fYmJmMAZMHEfT25@xr$x=*^_ifE!c{XaDqLF88W>@j8FS`+ zsx03s5Pmgiuy{JM%0*H^x=XsK$r{e+prFEh1^tj7DG{-#VsolqJX`qQa{x?D9f^jY`TT5JXpe9XsQ-9%-GOVeEAYM$G)j(kp zGP&C+E}w2^SAd03HD{(}($8Q;sO7{Q*|_D>v~YI6o$~wYj{>kLb+%{*>Bj$dIN@aFxj8YHXRx124w6+_Diq~*u|NNTeg&BdLDM+ z@$+T0qX_AZq+KEuu`Ib|QjO3Z^6>Xb%;d>FZo>of6z$LR<-CtNPNZqxm)I)7v*nz3*@SovV(O{Hu}NQ_(??Tp7gAN8Q}n=G zZXq=5Oh4)J$)!twU$?K*DiAq=^}8l*txQk^B7tyC!56oLy*U#+?+gWTse%qvq#q9G zr>n!%0S`o%wy{uT?DJH%Hlrs91q;q)6t~&zLMI_(%L$*Z_72jqWHB>5-5cw-wurLH zh`;3StT_5{_009p;J;EURget^AzHjeKQ^>EJ1;kvl(W)1^cu> zZJWPL#1z*tO9i+=JxA|((9L0Zmo!|!kubt(i!C(ECbL6qzelMU-DF62XhLqGrd(GI zBPc_lJ<1SAp*?Q;T@Y_*3f!zD*vUB+Myp^sBoFTJ-ErOvkN@qGy^#2$aG6bl*T(Hk zG@4(D?y*>U3tF{>Jw=(Q&^7&O=kxs6bT-M8Mj%v7xZ++^OI#3}*rHws$uFbfjA^U% z>@3Fjq=${>sMN5v3LE*MSjYikx%iTK9_rsMDL0s^U?kMv!=8NaU4+|5zAqupOLi3R zW0ly`tbpgsfQ?f+k2N)=4D00$UR)zc1NT$&%~O0rtB`b(=5SH&Co{l?5Fia%sZ&L= zD8JVCaeg~R?EV~BXyud|yLlHvNa4lJd)p;$Po@>wq7NQ@-bskPibWUnf#_iB2=g`&A;^x!Af`uKe zYOf_Lv8{r>9rXxyX-EyBy84(|Joj6Prr0?Tr%1zEm}A**(H{pJF|S3rG;Nk`65 z@Ke;3ygtIC$;FSQ?Q6Ywf+yyQze`Ya!}@sY}jf- z!PtOhKT5s)m`p|jai|Y2*i~6Z&py-v!d{NBoESb~vm;r2UZuQG#K|{N77!Y1iTm7> z8QAW*enbORLi%GtCa@@c>>99xYmbt_0Vd*Yj-S#t`Tm`J1vasi!ceIP9gMuc$cbJ+ zJLbKPiXPJsOET9)?m?}y=g~oRpwf7+^Dsj$)dpS$KuK3f*Um!NR>W*)TsTWQ7Rf-+ z$L^&2bMR58D^_m-#Eb2Y-Odmn))|8>_ZWEMl z;Bz80x}d0PmUt*K8`N8B+ZYtOdVYXPGstt1Pj(!Lpw;&ElUYIx3@4c15^)}A2MP`WF>r9`v( zACwctsyU58CA--{NM*R$2MA&(Wj#m569->mp^|#O@)T;QR=@*JPCMgX?Ass3neBFL zx@>mwi04u;mA_$sOFfviKAb9v&s(7u6AwwHF?SO%qpgB!X`xuYR<>tqk!$+iw6F!(gi|HGDKg6 zH~_}QN_VuiDf!mObMDkqo-3Rw*wu1E&Q1xd7qK!CTVMyg>H0Z1Nk~l;4+`iT2!Vj& zh;vvT)vJUobfOD$6Gt~L@a`Hr9S%8Q5<)~}7U!Mz)FwdQ(MZh&r zqb5#yqmOa^%g-(U85gO@Isg49S?jg0#?}gV#i>;CB7VKAa27MPp)0^Wu2(wk5y)T7 zP+9}UniQ9U;>qt1AZ^lxXX`1l$zNgNCBB8g$OncG%o0pglJiIgknAOa3C!!` zA|mPgm!YRbe9XlnYZ4({m`;btL@eG7j)pL`0eB+A5F-Fk4?@ao>J&m#WyhW>8V&4Q+tS6Bj~C$Dx31CP@BdrMgS`T2Oql(60HERRxHe?p1cSFR}u2n|UVCG2X37GN@MnX&w)g;e3(D+fi@?Q@IdLgxWOk zkr4{sm9?+W$UVytYm-%qnYJJVhp3!@93aHv()LXm1(nSEWW!p-tN2IJb-63ba3WQK zpGWwo=W62d8wH`G{V z%0K3#|E51!=1e~EB%{&ti_ z>1G{db3xzoC0le&XI2lhsVqwhY z(ES4VC*X|6|3P2EIAtY_S} zlIr4RnTh1d)We1Jm6^awQdz7%Pq>+bh9E#yj^-U65v~=p)r#p%Y5)uht-m;K`qbFG z$i4NJB(tb=rg`cucZ8U>eTf*8K`9h%URmv!diC?17-8e`vM+4H{2u9hHv#q-rrd>e z@3e};tfBr0V+_A+{0-cg1rdfaRqb5`ozyUNoq7WTQEbY#{;ZkkL`DH;sg_F64w(4)%$fHZwhI|4$g z^lZ3EG7Ib(jpLlKYET)nnTL^)VueZ#>d0f5TJz8ji<0Dj-k< z0tA01zdAsPQs%Ke()W=yXkD|4z;Te zo&&D}%(33^w&&tgAp@Hd>q~lbci;RwR#%l$%%4{GnAC4Ju7nd-@lIKgOd@4UJ`jiqQ- zEkd>YqXrl~`v+xjglX^^vj%G{vyKjh`12n1_%!s66&K{#ltWBC&8KO7iDIm7xrsgKp+~zxxoF9Z9_*TFUPS0hpK)tse{aUYu zbVl1bkTm-#l&8pzYZn2?D?5ZMy>Rc(rNkwc>y`|jxV>L%zuHXQ^dlZO&>34c^zbfx zg3!dR3T4J*4QD$^`>cXE^eYKeR8zt$*B30ahac@^j@(V29?7}jN#O-|GfTMMu(-}O z5`|hSB*0F3SgYWi`@-xmt|wurHdlz>3p|~;gq+Ldrf^$}NX5#cX;O!vFcBr)2iTo8 zgogIpG1P`}eQgr&ZkEAGXv~sXk`DN4Rth^KD9$D;YW?zLD->!fCUC5@p8LSfPw&=|mggwV zRuAKj0^^SP(^c&niq-8%w|!FS@$iO)^_k4>cKM#aEmJzOy?~1MYwZBhX%U&i=b6Q) z_{Oq;#&qfzH2c8QYfljlKi|E&(GRUf&7>tqU7yRA?rSl4wD9Dl?CMY)EKcGA*cGml8VH?}0;hx0^)fU;9IK4aEKj?C2v zzkRgz_R`_vxQh;{ks%F*EwvJTB~ndLvgMT(!9+;!Yp*xnU(+deue|cyPs? zT|CU32~OnZF%L6zE|MxJ0W7U8fFqhYd3}x~YVfe*QcGqDC8C_FTs`#j4}8G1fcZA> zG3zY4I9M&`-R&lLAL)5CcQwT_?TbZ%DtPw&gxYRPK-&3wF_X>4H$yMaIJA=D7yv;ea5+Ei3h zxQ>gY=+$7JJHnt}c<0~+-Tm@qBUadM5e#urkw`XP--XM8OF(aJs=aNFaTn{`VCAsy zxVXhV)A6~=+^RKH=i4|$jCg+4j&>LXl_LxqTkBnE!%G&|VhQ+|VWN2Soa+%6@G-jj zB%heAv;FH2wd-GQRuiO_M@3fXfHpW>kIsZy#k;RzK`5fep7w1R^XYb2K;uT~T^6*1 z=>^qytH-+O(L0-^cz9qRt&7%CWj(#dlPn>UR)lz5M++=o$I8+p&S>-b;>2&A4A0iz zAbFP*6c$XLSHQr)gDixF6(og)|Krb$!NA-zed2f}`V}yOn->Dr$MInQcx%z~p-9J4uO zX!f)^F8Ql0Q~B$iMa}sA+5d;Ho4Zs0}3#MFkXmA(5&< zEz~9bCK5kkO!x{uL?16rp^g@bk4PmPw0Gb8wsmJczP1;bfe{XVLf`blhy>;4?>XPp z9b?n(3jvkw|Ecnje$g*Yex_WO))C6t4ibA&R(1oD&du+YQkRKL9AWD6r(@3(j*l|T zK_@iV;#w=~gu^4)S97&6ysa(N4ul&wYwJY%8{#hv5ulT?qlLY*g`F+n_t?_y;&>)mYTs`JV!QkN?0sIh)W+f(9(0&4LK%nHU&2Xc?GjnK0+*+B%c| z9m3w)#p&+|E>6JTQ-AhtZDL9f+SDJMzw?Mo$}0Se8qF+h?Ei55rv5vniSa+_>|GqK z|InBi(*v!6HlU3-fsh&hh5q-y3HItR_sHj7&xxf1rNb zflE+9l9z;uj^RIN6s!%MP3;_Qcu8a|Y+c;{b3w(z2B_?8_*-d=Y>W(?jGSx?jLa-d zjEs!`Nu&mJbOJf~Z%jr8I>x^wnHY14fe;Nr&Sqg_Xa=OWw>A5-@Y^h03Ks4_YYh<) zy6s=AjGRmi|J$ST*8h(LuWfj6+1g?UXtHC0Q?sGC-49~{|G5A89QUc z-=X)17-;fm@vpcPGBl(AiBK|K(%I0=%w*T*N{*&~dD1wg8Zg!4V@{aOGmOx|Y z{~71MBmO6n5-1}&IXikt{vQtYztQphqIXg#>zp*L<9sU~qHMF+)YXJC@D!2@d zo&Q+C$(5#^#2$W?X!0v<#d^h9D0$VWj0S1r3=P zfy@l7%!aHSCM^Go;$&y)>}Kc)6f^@lJIKzUsQY7Q0M#EKrT$lHH*+9plb;wExfmEo z=>PAZ$C#6uftkV3n3j#5gOiqpfzgzfg8|4y%WTSEY|O;KZe;TR{dsuk|86cG`u}QB zp5KX>OY(QTDZAL)TU!7f|JBg{;UoVKbbsUjN09xW*#A!U7q_sTy$2{&nLEq7+5V5> z{~N-;5M(TjL2>^-%KjG;oW){}%H9DntfN3cC-EhDil(M?dHd1_l6=6cJQ$U-^~g zmZ~D!7P9FiH*|P75{7dL<%lAMfu2i6Me?!agF5zl`)SqUF>cjjOUMe?76jMT8|?cU$bnjL4#$@rcG;u?~OFF?}+0Y;A^a^s+yRb41*LB6oiJ0 z8@_J)E;BNp3Jkozm(ump?Q<_quwpqN;0=N*TuFTRNt6$DNq-6ZHps{DzkW@sKF!b1 zCnhB+>gq-f?e-egLOC~X>KQ1sx3#UD-+grN)RU5uqN1lS_IbMHz(>Il?PZ7*7<|FO zfP;eY7XYCC`BF$RxTrqnN=iyHF*SWpNGNAwVq!2yAW&9O!2;5zs%m&d#DzN#86_pG zC)(fm0H`d4ZzWH!FHedXK}$;-6>8<5+wC~IzJ7&jUX^upbQD-d{5!chuJ7Xg+}xbs z>#aKv*l=6b?u9!QEiE}KD=WhQ9qQkY@3x875zt!Z{A~JsnH8od3CDLYDwJ8h`QgNLHES3AV2M^ zqdI;|8a8$6XDaY2U3+3xh3y(tZrE_^D9H;X(+?Fs)s*TwZn04vP~ zImK!OSaj_O&uEkDTkF|{|9wQ8Pc-J9Thoz|NNmkbZOdU9gqV8$=~r_qw2Of zZ}-9yStomEdDH$mK8JoB8GQSC^y2YNRO0H%ZT;z2ER5LCo4f~h-BKzJ;P7E55)#(p zpr^;x>Uhw62{iQ0M4+0gz(zBB?#Ux0<3eS_*B`oO4y#00Ssj}>K=zArd!OUfb z$HkVi$;zGaF-AnCGELg;ONaY8H3e;V+S(C>!wocq{}#`7)2glUN`pmWVj{~Shj=u; zVec2{Uu%u^icelVgjh5hJ@MqyxIP`7UUzi{y%2SEbxU17+_OcpyQRh1WeKJrR-VgY zQhyu0>XhaU&j_!x&Xf=$-_*_5+h(5YDPili7RJ~g&O=rRcAYm^zxjrUK36op_`?z! zfOtXvoPF~F6mS^W*a=BV^9SBE8Z~~^-LJUSi(aEv#J|0y_aU->yXVC9DZiQ*&6@i!l3aB*#n>2r|5fkp{si8$E$z?y-Cd|ytb4th26b|))YK!;LAqP zCIVtj8t^f)J%-jr1|#bqR+eKx9XI9j}ka&)2i^V3D}2;e@=N_P>@G^*j&BXJ%)$ zJG`BB?XFqFqN4V5-kvGt`Cpt1P9}5sb6TB#=9iVZqy9Ggxn0QYp~#|(%uSlKUZXkM z?Jwh{o!xB}%vwW(h-k6zoO1K|-vZ?_-3ND7PoH2i+OnsXpctGP)LpEln%Ocx7sbNw{yP0_Hi#igVWz9-X? ze*75jusg`;d2Nn>h?vG|g;iTy%kzBR-*G)7jnC~Gd9gd>^st{&?|xyFOs6~Q2M*ct z@FT;DVD-fHYM3+zN^F?OV-KyW>(Me83Fp1U)wVU*bd$-r#iM+XxX(@`Y62GjautFj+aAtXX>}fmf z{|T{znwnT_eebxwKA|GHEGchq9z<-qy{EHoScBVN%N07U@q2qF!N_=nT|Q5#tX66Q zbKuX+W93YbZ2>PyJ(AmN7f7MT>@_*)2D^CJVrLMQTU4dreGcvpuIMbEU3F*AFa0PL8V1&Xnc4W%wQlC4O|d~!LSbsESi8@3 z<90hG`}8RSREmg)p?|A-!U!RBfq82q4MmqL=fzy@)2S}^MEaO+4SuT?_tfMRj)BB5 zXmXc7=f)i;s2oo6G%yd(?0}gew$ha;x*APg7gQN0m_hZ=CnPp3 z(rrJOD^;#^rlzLW@wu7*o%krT-62xGf9t&4kd~2=$udqKHwA?lo$tdwc88wb)=F|p z3hd>}oU%L`7SRInj^5 z+U+*^{IsgB!A@42e}ak&qBpA|IZy~-7xj{*+<^gXL-=k7IMUAdnwjOYa2>~5glndO+Z=x`1Q>61(H%y{*r zuHl&0pWv}mQh$fG_g=ELt>I`Q^>1;QpVVqxPqg?R_RwGNhxjii zxX%pgm)$Q%C@nzo5W{<`LBQyBFh$HFE3AltLd1u3|0PaTOw6cJ%b|UJESncEVI;7u ztVM^;nr+o0APd}V9orJt1CfG-B~h=_6T0hDxKg{Vv?RE}e3`0DDuX{Li2Qnny`OGR zCUHw{OdhWf`&s`gP+@p~zU{yH{rh(Zt}K_^a=To1$@rFo{D@R`JHk!xD`XHCsLn~XR3ZNH zCCvTse1mx4Lq*t0ioW3fYV{*Yb9Gn~hL1(DUvzDxV4ok1Y~p zg7c&DY9@moFtrMe-aO%uR8A*~m!~^^o34qbvl7LErFye>pzL{jvdVst>2-b38%r#_ zRAUGk!~e==JjQWldQ{f@i&@_E_W}&7e>`+2hUe zkjtX3IH;Qkbzxkfs$8Jo?W^m`OYTXv8k zNSK)7+fUm*F`PZzuG*P_nt)%+^&xi~UNN95;q-E|$ZR=RqWl9^AbGF;G$SKJ8dRQ2 zOH2LZ&U;>q4>9iSKo`BW&u=d}-WT5v+9oFX-^M^C3X~zy-|?J-y*%EOyL5zyBY;|Q z)cdb?@^;Q?l;q?WOU5y1L`3qQo?Oz&GS8K4BPZlZStOx3HoDqnRl%wbrg6aPG{#b^d=*@s?q6HCfki5(orOkl^m_ zZXvk4ySuwP1a}GU(zv?^cL+4@?hcLh*Z0gj&o}d@uRgoF&MDb@ueGY{)aUM|vHSJ( zEIE^?ssj&(PSfJXB=4K|5nx2i@UIF+$g>X}_f=I?LgtVEc+Dl#sH#Gegt_Z+b!8

    {nbI%EYKWwcKI%MXs9zhl(mWCuiDWj(6IHIFAndcwONh5P~8LHM@&VdBpBarEZ#JPI=%O zY`*^+$c;@j1xy?5u43piWz6IBy(ng@so)hA6=TL$%OBSDmDQgQ!#Tf8CQ8W2*d(!_ zAOjZXvZ@F2yYb0ZTkH?p4s)RLoDZj>aXIDq*#0H24ih-+H*D_CSJjh4{uM}*GGbyd z5Z-flwyX?|YyH{D*?GCy78e2;5DROqNzT81bx0CsSPRKS5Q47!Z{3@>&E^`SGsCpA zyNk{1R!Q~cUxS1xkr+ZZK2kvSKPuXnO%|=-e-v)>PY$`3i`F0iqk4&JWdJ3X1#JIQ zR}=!&Z8a~HY5yzC`N<@IF1q4x_y4yF7dkDl#Gwd)0Q8?Zi~mvG$p2d1V8RX~UR1>R zZ`qEKKo()U+6+n+xfSaR5Mt;%yrVI3yE;w$Fr5mSjm23ML z29x-SE%#}9a?)_TImRL*w(s}hA883JtfFEUO8O@4LR*GcS8BnFvb`T}qE+V!#PDxC zzuVq-0?7v5G2DSYaG{zABg-r?dT2CLzxgI#X_7H(rUtE?vd}=9?JnQiK%UWEHhhkb z*QK&8-qUi6)!M=;Dr`yB-OaNPu>`z7B_$<;AESQ#$}so(6yq8o}NC& z`=U*pPodP%d5A^e6+{q=d024Tt<`T5Fs<%(29}G&sgMXC~ z7r7Be1s0D|)_QLuS9d&wd6m{wR+?NVUgFS?Nsl@G?kI^)Ze*jlk1hF2oAA|&ytH51 zu_?U1Gp3Wvp1viHwpjfnz^un0h8moNJ>yUG_JU+{pJ_Y2v5t<8{+HGk((3h&dy8Ax zqDBK!ZtarnB$P|S?wCUm+%Q~SNQnI3xZr zV1ZV%+Xy=?x~)=?BPuEqo5jRpAapZTcGB-XEWgmJ>w}58`R&HbrLvmZRGyHf1Ur5_ z3`{1+`R*tsI1amI1IL0WbHa?Q{NBiuPP6^jTIX6)X8{@6@x&$gLGm2idA69|%-?l; zbF@N01{g~$gYAdl2)BKd0l|N9kn4KO8psM(uge(ZH@(-*<+b)@3;$@_Ocd5PRdR{9r{*&l*KR zCq#%l8V~0#;0mXj`f1c-wKts)C~DOvOt>0jIXLP!zc#*Qd3%WKenRof{d>^=dbKSa zjqOZL>;@Z-LSS;)&F>;z;k{X-+miA01l>PCip60=28(iG-ze+fF}Lfu;7u4cDCUf! zccyWRfw0;2S-tqOgZ9Q~XI^X;0?a&?;V72_*SnuP@8e)=G3bXs*bqDH;}g!BKQ&c3 zRn^xwv|hG=7xGd#AVPk!Mclp{pmo^cbtPm~iZ+_nc zrq7FO(v;!O0`Mya_WIE+Siaf6dvTi8Y+@_heRKB_e9w!zv)gvjKKhSeOk{DR4KT@3 zPejqKO=#DL(q!>5wVm_vB1($ZB`a;ef6|4GD#vu_<5qq2QjJ;Gw>O=t=Pz=NJ{U7B zzdOPaew?cNaK^9GTP+N#-1N-yjPse?Z9&>iB+j1Z4UG3QA=j^dLx|G_<44+9IeJ6D zjgp!=;^@c%ItZ+y2*E@O$wZvJcE7VFW^_@w&aF2_P?G+G88vQZBi0~Zkm2tjGV!lC z_p}z7LMLC8-gE#0Ph0#H`mAk>&7DCysHhNm;Cv|ObbI3yV+SYaQUB77^~1vhYkjWW zkZn#BJdR;~v_TwQ86?Z+CyS}XbH8t~D3J4PgEowOIh2`<_`}79Z!ocs)tTe^fUwGe*XNKx#_~q%^mpdR^R{avt%L``w0n|B#D4PPI`L!55HBKDWMxJdy?p<|nlj>EQtT8*Bjc(S^hTCJclAy6hOy2MhWN)0|LQtPN# zEPG0H;Dh8%0q1UgTv&d?Ua&S6uSWh4{QlJXe3i6g5%J-&8FP=*U$Wp^6-7n8OW&Wu*^s<(n4oGi@)R4Qk^XpJYJuY-AF*E$ zb!ni!+>u;STVuq5R{e@}>38*Au-JcS(AUnY3%Rrq7K{CL=b2nh7Yl$a_KAvC*gxx9#enY#GS{U2BHL&jvubBqQB{|m7!HM6Bw^g?RGw{yO~Iq$UD*T zxBqdNZxyIqa!EfF&>TjwM!EUhRaloHn}tHR`us7f1sq%mf}M4(QWf!ZbYx~oLr5EU z-H>Vd`X!?yrUU?(_U$6JPJvZt3&iw|`JNhY6;`i8R{lxS$xtHuM`Y!j*Uqjt+laIQ;)J&=fQ++6XJ8uxNho;GAE?v#sL5^ zG?l^Jb}*&f>7J9tOO^Q_Tx4W+yJ@391ftujREHJ4=G9j3)5|7W36NS3lav<}Rj|@Q_-QV-kig z6S^?NuefN#LzB2zd=3&slNqiR*eo7Y06;z!e1#hL=QII-W;qFC)jh#VtK~YjZexq> zrqkFi+h0-bd#`dD*al5Q>uUu9k1H@0E$v|wP|tL=S+{g;_!x0N&i@r{d)u({Y7I^1 z*XB>rh!p_iYZ%9!_T0NS?S&gZpZ-MMI zm#oz%t8|CpTpO@YSuWCm!9W<2&01>$v2YlZ$;elTqJ|hMSosfBs*nAIa&mH}0-mH& z&n!Ed`#%d0v)K2wj3}YF7;{>=a(y$j?9NZgW3igF6!h!Vi-FbC5mQOeUhc^qS?pSt z@!g~4(?d#<6jC%n*CZ)zjWo@Sy?TEnNNM)CIwAq~Y%_XExI3A%e#q&oWe@OgTAs;H_aBqox4Qb2ewypktmvCLRB zND~7O7-7Lciv_>(_rnkwOXMGs<(0h%=^;ts=sjvpEPBNMJh7cNYci}0MN{2fM8!v& z+6u%}P*okg-W^_Ux7Gf!1>%MMn=#80wJa0|g(>MxA0zJhX{2aq_M%BfJk?}fqC7b7T0ffc(qbrl#5j|9#(D$x! zKH#-Nhb!Aq#nYsS!(;npbYz6fdS!1f`FoQ;8JH^)(ZAb=K5{2>%;lxl{mJ1i`|ik- zbQpkQbQFKeBLS34T57w^ zY!wC0c7RCzpUfBhtf{KXVYfDN-m)HKRDbh)S~K6_ZV!Wa6leHU01^`qS5{E?dL?q} z%r$)2Pt-ikg=@i9I;5m0O%D>j~w&qOm`CGeMWJnMLE*Ji{vJ<=9mv-{lfn`GH zquV&9nID`pNSxpDFf+6c))<>OiI)G`NN z03bnKX;2>GnCCUvop&HH27;x8o;7zkP63|WamFJVaASz`P4~S=g{NO%%+fhWHJ%@e z+29<-w48_tG(}R#Ee<3U@nC<|ATdzFK9osE7!KVtPYx z=Q*xpF+CAQvwOp#x&1~>XT8@a_1H791Y1E<)8XsnV7g$NPjRb{EdY3ALVn^2{Tz(| z&AKM7Hg3Fp7wPkU=?VDT|_S$;~LMp+8wu8?wY_Cm&VPVU~`9_zt0;axfT`6@k=>k{2uPzkTg`ASNQ ze-~QP_lOQ0M0_2dkYUO^t158!98&OL!_Y#ZGXcm$#0)Z$J=$Qu6fB*_0D;##MoAsbexS@Y|P?<+(F%o!&LV$D1X5(&bLdsQt`1 z!-n)W8wqm;f;IB^DI>Kbn-+%`)o*{qc%Jsc*DE&?Cbur&_&jcz2t0Q&yR+D_Gn-7; z`fz!F>ggnmD?5kJvx1boT=C_+9zMairbjM(;_Oy%k99AC+IY2XwR%!+h@0PFD zX)4>Rsj6(S=GGGkzwgBw$@YsD}x|1_YIm zyo7=-G5=hR6@{s%%C>b6gvag8BnY2PFG(vI!4?!0EH}7g^17Am*7DYB*YSgmVi5` z`t&F)cGSe^&o9MEx2o3%OnSXPvG}XZXk&|}%QpJgT-hCN6zt^mTlpsdr(MUuY7ov2 z0Qe{@q-nP0!EAW0z5kvn*FHoErZF^-=n|s&ne>ChEl@FxH0|4B^VT9Q+i3e?;F=3w1b&N5wObb3NFsX+zeC1N;hJjZ=%dYqOad@Y z=0fzOQU3?OWv66z-g+vk3Nw{WWEs5uTPB?47JmIVrw^+0Pe2~1%u)+4>0!qo=qTh<@q^Xz{9>*gbg(IG0T4%_>Ym?e?=g{H#a;>yWFQE?WJ+bJEQk#}~Cm%O)#ZvEB7lG1( zZ*4W#UVJ`Rl$&ceBfq{xMn+|jjlJz(mX1H}w<4b#s;h6Z81bWA3@sM(dc#Tw5{xwC zurKxa6AIF4%7EXYK0S&zy0?4c z(grX--ZbJYi>|uk;n}R|6qow3t3@s+Z2mjLN}7(-DD^qC|4QW6Ar<-lA5X$*o~hwn zpNYSxrB2JmyH_5rE>IJZBBGvfv}&&+a&m4&wPwbOswu)j(qOX6Z%f1z( z7RE=*9pQ;20uuHg@TM6d9e+7!LRs^CS?|2vSf%XVbmI)`QP#2&Q1ofO^*`)tX}f*s zkk@3WG6YYp`UhY53pEG4mHeGfB&%~ioYLy)x}D+;1nYaBH;IUfGF!~#Q2?ir!-E}n zhw8i^?Yi|F$!dMCw)&#+xPu~ZSZKz^pVlug%=>~qzgkyi6Tb80NWb6F*KBYmPr*&` z>~B~pZy>f+V?7E!LPt3FPyvNF0osol7vsAb%rGH#M=gge zn;4x}X9ZBHqep!0z*beg0^n#r9y$u;BA;=^ZyG4->ErN}`keOdcXoS_?1u9P*vu}w zoY9kw29d04dS2y@B!1RZQXoS^?LJl)=AE=iJ#6pn?2IKs8Dg9uB_)-VmoL?Bu_IyW z*b)qa5!WZ2u_tnLblf{UBpvO3m+C?2P`MrKIp6y>Go+HrtjKJ$*`57>k9s`cAh^k( zH6{zxb>3-xkNx0J8St$U#5R%hA{=~EYrm-ngMt$@zTa=v1S8h#jY9A-V8Mu-vJ}2$ zHD@W4kjj= z04ghd!PuW^V+|1(S=?(#Kap}!4>Acl8Eg8}j4M8s?;db~w!iA^XW+s(Qn33U z{tBe$<5M8XC~1j_a+@KRBcQIa9Wb~%nzeo4%i&Y9!-6q2EvD0afO6lw*H$Yzbj)kS zikgfC;Feujc@0`jbUylRc$~6dfF@-M3UPo`V~it|oSbPLm(TP)C5K6hTG7i^!mMi^ z0EQy_9bKF0jLG!AT}#Zgph`^#)fcf5rXS3eYg~2|qU0btO~E*7%=fm1v5A=&oNL_| zqnF6}%glX3dOQ8wj}10roPM^if4;{`}a<|NS=C^Ksoh!Sr{NHSp%BFpeX0 z9U|(*VsHk_6bnBUP*75ar|Eh9h9!97Cm$5GS!+&f6w!%1Aq*3J=&BPQ#Eh4$$^8V8Zh2Y*#6y#*mdXQ-nL7@)3_VS)@xnJ86D@ zPPse58IGJ3uTA$QSum>^t>B!% z9K&!8RRX1a8u9AMF9&b$`;791r{+0W8OiAqPEITkK0`uIo+28B$!vG#p`<*o#W(F| z*loFh1rrl+LbLfmPa6qkNrU(+3f3HJEAXp0Mrk_10wRj3IQlV_p<>?Nz)cK6P&n$a z4o=jlm)#d9!9uaU9p<@4;mUG&$zif3$`DgR9zsEK zpFq3&P0FRiO9&#k=J}yShalm{`#_Sc&w`$-QM}8{V7Y6dm6(`zk<(pp3$=EJs zZJA_3KE0sHf|)95M0=m6&q2iQJoF9lG#c&4Ty7QENpz&+ zG~&0k*#3r?5BRiJb@f%3UqIo4{9_Nsxz76|;oJ(Zq?*OJOrv?@Fzt!~noh*DTPZX% zK5>K;y?~;89KDQZt6N}ryI;YS!1`R^!oouOq**~>;po^{|Gv}0%^m8O_v{%qq$J>} ztwS-|*PBE|Rua9J7A+KY*{zl#)ZF+Vl9J3BB?+0iQKGY%f0fnsbfV`q!Jbu~o^4C# z#2R#|TDPOS1*^9}ZJpQSY}GpgzM%e~tRK5{e0-7os~lHxys&cu8=OYwEvt@gIwE3X zoR)f?!n9K>w_t799wJyKZJTIZ-W*5cVW2m-zyD`qB9Fsl(WuYcWLg!;*js<+?pN?H zP{er`#gmSyb1YrK)y#eRq(Pbw=^_CJlhvnK$w~5P3_Q6J#*l&4t%&hvw97O2-iex@ zibW2IJ2%tVLKoK1VRIeognoKY^l3V-^pHW|!pq;gT%IfjZZ4rF9!Hbz_hGo7&pPTq zhrzV+1>+%H?Z%D!ej+iDKP-r1fd6%OllQ^Jc7Fr{3@?x74tqz25UA{b?h4&&7jCuG z;4?%<_?{F!jvzTptdnk4>s8aYF~I_ZgeUSGdwzGkUTg4EyV=g{C>}whg)$efB`H&! ze7kle9UU%?7>&@bKt1R;{t&o8!j$g$-ghXjJ+P|H`MS)2S*WE9SL5~cC0e2*VU^)c zyCNk;k5$PUddRXkBhayjH}&!-%mF_x<-rZdFfUN>)B8W6a7ynEt^bGT;mzmj+Iw=5 z+M)fn=l)>zbm`GmgA)wOwE+*rZB`v8&x5XZA3u3|f(P7N?+kt{4`Cx?Lr+Ck&!P#$p)tsd7R3+-E zN&WBrHR!VQ|7@2cCnrx%PFB#;lCrd<9vmD*|NdP;L*s{#pWhbP;0kn@tEi$ea{@w+ zA`t1%BV4LSWx7XV`{1feSv|nDGuKT@iA%?!(1mL)c4zeok0X-|g;*`;&qmBuCPFGS zv}c~t9IHkfUJib)qZ|Y&5@^-81$;vIdFLbI;)Ycfh5Fuo@tzOI>90PKItYRUDdUpO zO-!=xxO)SkV6C9JHRxn@ANK$7?6z04noWr6xXg;O`-`)B-5q6kiwgsh;1S@bBQX7e z)w-GuZWwRR55@z`G5Mp4=@S$x_-lYLJFGH*m|Fs_=wmIbdV&7tyU+E0C(P=LS)V#2 zQo>_?!w4&r#FHr?U0JouyGX$oGyGPF`dRAcPfC9ADYZI7`m%LY1N{h}^EV-IqS*X} z`4za(pxsr;ri%dGGmnI?JMa5*mTBf5jWE|dBup`>*;8yx9&dLbZbK9(XRi;82_Uj( zP=o|Bq0g(`j}NC|Q{jYNQTe#tm#*(tfi9)+V!*#Qj|fg+drtWtBwZAm!njS_#T$F8 zx3e1Wx7^1~|4rZ#03_i3U~_YOo7v^}fN+yJRC0B8$*?Uy51W|zdo*M?mDw^c_zx8? z$g_>_X)E}j9ct*9m@Qh%R8EM*2a+1eeoK4TOOwLa9(`3oC5yitc0<0Re7VUxkKEI~ z6bH2ZF;h<;Ot$h0fhVndhVO=xT9?p+Rw3luknlBE4wZlj2)^9B8Fl~uk3z^ znM8j0S{wTGZr>b8+?ILY1p}P}2i`O|bK~X6jDaNLf`Wph*+SS)eLbY_-uiYH@d=aK z9NA?aL82a2iZ^-O`}IBta2xl%s=6_DWj@yfUZ_T-)XtXd{N-VnqPAE~@A@yCpH|Pm z|2}&)+Ce+%Q8N(|f?!bl?!6bJ3uEKs)b#X&W(|fdtCFX4;XpHF|upgFd8?=5+nE zlx$%&wN(4DzUO-~ispgsFMZn%UvY3EA*fDA7yav(L{`3Be}BJ27!RB)SFKhhWKwpo z0aY31Jx`Emk~#|rwE zCKyKsY_DzKNy-KMviQMolxmcrPDcsi*q~h{yoMY@Neil2&1t5a;bJ_mJw-@i{b3JS zS+&|0N?N7 zQa|8xXmPGXK8MTtBeRRkfV-`=f6cdp_r^(L_+Y!qW6pK2op+uTUt!~C*%popD)DfL zDaa73yQh8XF4GQa32?hU1GReDdVXQX2;RD#cg>Cy^c4K6vY;;3!e$TR%=b$ri+Fo^ zY=E$>p=fMjA)${T5D21LlhV?}_4Ek#_xF9??t$nS?77m;wM0FJuU{L-NV2xKqj9mM z?93>mXJs=?kdcB>tu1cIsbdgE_v*>Dgw$2w{Wu09{fD3>Lb1SI& zj)jlnqzw!vsqdg!-KK6wX_!TuM8Ze4vuF#eCrd~~@9QT0>~e}8LzjDGp=bgpn(FC) zEui;GlI`!?6Fz5!)G--7Y1L<>#zYGrDOsZ2ne--(aGbmH;Mz<#Dns~2mIT|~=PuYI z62hI5pItp@12c$7!Kz^u(#8&5$sV+3bN|_vJ>&EZl}^M;Yz#vb&Ib<}HnKoLLE%TK zT=t2GE#^Pm%XO2@R#}+#N(c%T4If|D(Xr0nhDqa2GH~gX-HuUcyof#UV!gxpsQ23n zx$EG!^_(>pM!QKu*9E~t82}ut@@)*dgq%j&WrxSY88P5R~R=ym@ z6Sj4WXQ%0Di|9XgzzTxboIOwtc14Q35Sd({q9%h%j+f5eRGM5xJg@L5 z!NJ?nctI;KxRLHMJA2dwkr;At5I2YxF5gN4Huj?={A5_ z>;w%LTX}Blv@&;deTS|!1%>8hIoYqhK6ig!!wL4^>=7(nynOF*>)@~Lgor>Dx!x`k!^!J{hk3O~hxe{ov+hStpm zczHzk?M#Hrk3Ht7>23|!$Eh+x0G1X2%(!7;`Ez0x*=bhyQQRerr_;&Im6C~|i|k(M z6Oq6i6}+Z-HhDy$O`(!?59xL9##rA?f_b~nQ29fjzcvr@uJ5^1pfb4?OU{isl0*Oc zw_eb(Se4WDTaV{CXR#jx0|RnvO=)p4v(cYlz1}>6g1OTIFNme{5v&uV8SK^>rlYhy zL_LoydOGYSg3@Vke{yzB5pms!wPba9Tu)ST{NFtZe6EC~A`zhaUmB z0Ak0LRM@sRA;ar7hKjA70s30m?~jIxy%k|3#~2dut&J<=1*Z7TEVr>e^`5s@YZppc z`SiH2)((#zi)VaO^N%_cYlM%_neBmF{mNqQ#B-M7spNiA)57dzI(CeDs$z-cn^||U z37wA%Vs@RK+EM!r-OgiOdW?ECX~d)IyNyG)&o|cC+y?LiJR5_}{mVoH#o0MSMd=DM zEHE(bR(X~%?I*a#6>h4e`D_+#JzH)TDk>^@=cupLjEv%`rayoFbm&+QJfxzdqpR(g za&Byb4su57F;^}8)P;e8k!|F%w)r#OM{zm0g;SA@jDjMe+nD#9hf-0gJV6$EBkdM$k$tfssGR4ei*waU)qOe(qV)(HLdfoz zV1ChCkTw~Q z^CLh9wTnoirqYkjqI^pld_sRj>NeV;z+m)l0R&Oz1Zyf0kv}ti+LL`fg2D9kF-Jnd zIO~NTPUZzJO7T_Ix*dz(_UkL5dCFgb%f%jrwo7y@#NV;wV2~@|)@PQzivrvX;mOGd?@m{9H}##OTT(aT3N6ZN z9$Vo8J8!l?i?evhjXX$JV{X@%`XIg60>LYh12g_%EDt*&F`~ zD9D$otZ6|wvfINt@+q*(1ConC<}NSzpm`HL5N}O@XTCmKI2_q@GJ_rB7N|HlD|-bu z2sh&PJps(Y9n6m%xyxN(s5aGWYY!j0VYP~;W+q0OFJEre^*lo*lPK6V(m9Je z+17C#q=!GSGHb-(9xdOCxd$6W@>MoZD1YRBNuyn6Y@vpm5#H6xEK66ypAY;nmsECn~(T{j_RaHejJvl2Y8jj2=IsSDug1k>c(g@DV$|w#6LUf-~B??Pm zX9evx(D?{Z6cxL34)ft=&**0ytcN6Jledm4DTgNB7Cb8FqXF0^rUWK4^z%4b;Sg5H zI@Q6W96mJK!w%Gnf+7U#d%XIevZ={`w~Q=k9F=GT0I;yQ@Q5`kzi-Z&!&tC;&a%f` zU5yYC7v`d;D8obFfBCLBDO+pZs-Io~z&T2}k8%OKx}?z!TCD_I$&l9=(BgM&3c0$n zL)tyN!?pBYbRmCxG{+r1H|}^+OYZ#f4Yh{nyxXsZ(I3>PCYr+fsO&|JstE$6Upzs< zB_wEUcqIt`9xS@Mkev&u7}0v-e~DsiZ$u&8=JfwT&rtHTj(MCi^Ly7>&^DRs5kaqE zS?6>azI*tM0K2azQ-*?U6jNpN(SP$Ylf%{`^>9FN2O<|RQub9;)sz$z0u-IkAdvwf z{~q9hM{HcMaAxO~?_*t!kJrP|=#Xq?>)Bid$j2C4G9z|@DgRX9(RH#!LGgHqU^O(# zn+J3k%!$PgaFkOB{Lfy1?FzBGli8?yTuuiNx%xF|h{b5YrP6FOnL_oktA$pVW-ucK z*NYpp_vX)R_1D723^s24>2uBNsVShMqE3UZYU9i8H0dL^?t;tfB9)-7ATe4oktkmL zbo=btgZy6)nA~ab1m%PvI0Uz3?Jvzk@U;I)vZapzSh+;5joKlurNmb^EuCk-WCj2G zq)ktGQAtToo!`Z33*+(eF&ADe#WHu6^3=Wmdt&J&e&0T(oAJXMA$Qhq{I7e%aRggw z{4krZzNi#QaH5LoT#iOR(hm>JoWXC8*C!P<*AR}z>U=P<=sna3=*@Bzg%RyYCx&`Q zX&BXW#s+8J^ZNJ32c^ogc2;@e7Y>~BaTsGY2t1`so68yw_x*Ikr~V1FN_~KDUs%&i zu}Z^~<-GD@S3=Ep`Q>`myVi`f-ZF)=Zd za&zSs72(DoJLH$8IIW(C-@sCdil>~ata&842pz+0T3eo78({Ox?t#Lx6&Pf&S##)J z{7lwYV))qTHx#;Bcv7D4|CUGz)B{!`E$a+qG?SBaX; z_3X+P;sF=Bjt>(_TzKUG!De;gbf zgoTI0*45QPLqj{R7%jh8&r*r}szq z&wPT13w5?Ag@XKqps>%GdZj|j8ui{ERG}F1Y1-+gp~Tf0h9_b|T|1Lv35QLX;*CNR z+)m6MpS$>Sp|iMTNN_0KON9} zenSnR?}jK`{u+T@FI!`R?^|c1!HtzSUvTBg3>(R2D%CVmCy&pTT{B#g2<25(m%2gn zkr)VOyF*BPHxfvlT}}f2KL;aIG~ZvGVhNWd$7$|$nv>!)#x6(?b(+!ebh2bKIc_w% zo`3h)U-YLHnax)Zy90als~`KF?w%bjg@AaRAvg8~P0_3F8jX9HX)XxgCria2^*(pM zWsZYo9`zpBLRH=~TY4<68SjoZDtepsXEvw1ySt}KS=S;6F6j(CHhK7#YiXp_FSpJH z9WvOg4^ZQ$!L>+|5t3z#DmEOrmX?-{Hp_F^>2ZXDIe-5A`P2jFSCNN@M7Kz*QB^*b z$Hz`S2AXgZXJ2ki|0!5vOTah`z&G^aaz!KT`kOdVT3zq6NEj|8+yqJGWPQESy`O;>RcS>eoQn#yF?ah_OqJ6e><`9%KCc@run?b`j zG_>G8gFKnvEG>Mn#VI;`7I-mb?n_EJhBh&zAJpv{vsULVICCoEVF?HblBpDfhEEoD z)BNQQxN}j5DmoY2a7IT*Jueu{>NK)G#s^7hY2ol>BPWd}m+x0IsZ{GMlQWHbU~XLV z>_Quc7F(rQ;qiF{goJQqu-T=Wp4R!!(GG&FX?Dppj*q`9DJgL~a|D*iW?&w{I;gp( z*3mx4Y~z6RL+Pa(^=QQSa?iElOKat$KXe}oeej@_;#CWPLW!lBmf4Z3*>i$>0$v!e?hqzwqRi~J#k0GyW$&k zx|SFgg32+!`D;(@e{R*h`uly|Bj;o$;SKiDmq}^JmEi-d9 z#%sdi6u6H+$gDMX9nCbzZIe&byjgSE+tL2kq3bvN@N$o@lDFEE+np=?Q_7&hQbboE zjhZO;T@9-7j*Lx~bjrv00$o(GOut8)rvLB^n_juNwKj{R>olW4Lg5oq6OIY+{uZ0t9guHs?}E?EP08K3Y*Qxh zD#Gm_yNht3Jkj%oLX>#t#573H8?#|Kdemf00SLOyKR7C=0-nws-!a_pai#T>_H(>arSK^)1(;Z@%TKdh}pYYpzvM84`aI zQc@(;)DaLJMUz}J@qq7N=QBI);pKHLaxebR&{+ek4W|y~8}07N{HyguS1DJW_LdZJ z*exdRj+H&ZT`10-wt_tcoi}sVuTS$fYV`U6;o+E7H0t>x5vY~V&KRt~aK$zy)wFY$ zi@zzK5e}6rHR^b~n{NtS%AN4Ie9X}%Qs{Mwr%&B{PLAokUH69Ov)e}=5SG`U{We-% zIhomW3yVn#eX=j#(8 z>w~cu|0?HZw@r;sTYtakE%w_KY?~IN{z;D;ztv);ss&|QiDgl7@jq_^yST6^Dk_qZ zk;Nw_{*;o6yd4e%03Z{J`t|FN2vl+^twt(H!?<%q_T(OC{q!{JwC1Z@bjlvYwKQ!t z<{08reFzpbPz&p*A~z`K)5M0%rw{h=I_gk3((LYHdx{#dkVW5xg1F%sjla4|yYx7c z_L+&QVz}^dnnyVc0e=_rf!l&Fc zR-t*TH#nKuCsxbz{9cVC<7Bkhu!eEXbQQ1RL_c9aPABbi?AEMOo66!I9F)dfZt-XQ z9u*36kE_sZ<4L1d`R8CVbNLx)_I!5{)zJaVY9=?Ws*p3=1J2nyTb@5#ZW$JUx-!0} zR%HocDITvk9!7?wfbIJ1M=}4c&c%>c_4Uci!-j9ycOHkF?QG2``I3^7Cifd6epqj0 zdZKqvUO2h}X!t@L0<9!S2RE&0~k`faG2Cazs*MrFU@v~1N0ABga zl|@DRBBk@jGuSh@cUX5~ot;6~cVBuf*bV?q4|0RU!)Tb8=7dU~?5XR+gHpdn0U-iYC>+Dt(p^Jh;}*4eDw5_rc?oiP0J=MZLdtNxcVxZZ>H{3<_q}Oau2*6wwqQj*!IZi z2hl~GaXl?sRlf=F4>eM+k==)I=|OM1_T&1QT)xjL&G*H+mn&MG8jdTCR^H-*bapy% z$3;a&i5VF(PEM$jk`X{~B2(r(6HZKP8%E#yIvNTJN+h~tsl+$;we@vo9NEVS^MXR@ z)5*guV=yv4&mY1HKk<3C9M1zyfNGVSyuJ9Zj%_<%LEcZ!;ewQRy{iLTiJOzT5!f{y z9ryS<>36idq>`)xx}+T!HYW8pi? zqTfeNM)*%1cVenE=KcTNRb(4>FS1}sdyJe3^FKEDxZPQQtD*n94x#eMC^2kUp0Uml zgY+#SA%Tp7LaL(e|2^P~;tzDuzWMnirDCak0F9TbYMa|Rj(~swgzsrm_@e#aZGV+m ziinA!5)dF80b!72ME`%2sF_+c=z8x{ zowDU9oBpr2=p>MY0HA{B$dt7rMe%#R7C&4^`cFqmN>x+`t(pp8Z@NysAP#wZIQ`F2 zauC+qZ@SFb^ZIiEpjxh4q1JplJTz4Aac%U^;Tkd&$~ljuBqTv8wCXny`FkjheK?&f z|KrDpIQ|E$`4U;-L__sI1kh{N7ERGGS3{vQj-+s7SNL35Qfr?DBGj zln6tnpIW&jdfaKay+tckw>wVY*`nFirNZYBQV0==o_h)6A0#9s3?Pc|Y@-Xea8?3h zwcPCH7c2bsA#-vFMer2@w6I-X_hXG!*}U#fPgjOo%{G#dI{Zh^?SagkB8Ga-tmacDvjw7b`rT`u8}R=gQ>P)b2FMJLL0a6j zwPgSSm*1xSg~PG6hP&-HtX7MSpV@_VgB!1|9Hf$|`cmn&Emj)K$LpQ;$NpJOVDWjn zvbp7R+<}G+IynUejK2P+4h96|?C#E%lXCdI>zxnfaM&yY294Tw8J?M$nUm?YQ*}Gs zX3Lc+>AoXuZ*N0?{%pwdo6GBt3IHgWKh~%<_{i^dm*;-D@%sL9iHOA%(AvtC%AhNy zpzyWB{j$Vjw%`L~TE?;GJ>eg^U1XKh*K?F$^=|(yg1Vl=@L%JJjMnOaxrMpAAyOD+&dgvO48ghuC zxqI}S@7(+A@@tsfd#(3 z{Fq7Q?&tDyPG+@&<)4PTvo+|VY3OAGZip$tS&O2{_giDR=eu=FfX4P~)&CITvjI+( z8;oN+%Dt*9989jeyhbe@O{gl7%<^tb+y7F@CF3;0C~HQB_!R!_n;&?%1eD9bjh@P6 zEfii}d<#c-PK>UQEUCt=-Nxe$^7HR+OIae)eF@=u5<>Xi;iK~E;c8A z|98q4C4PDa}Ci-_O`Img6A>y|w{EHs6b39M6)`WlPx4OR{=eamR$N&*F zQ(+QxBw*O=@k66T2WW4Ha-)tr@owvobcpwU%ZBqE8Ue>=(934~1);0!>m%N0kOT)H zy76+Z>gMdx1!Yc>Tx?O}uM-G`%-6So;@XsP}=5Y{PHL*}pW$$5;f zFHRDXH993er!yAl>jF&thn#nh0F+REjLpx_A3-VDsj4IjuZ)28ymof3JZb^DtIBaj z!g``$#m8Z)So;_Ojm(q`sxve z$1S#azj9vdlh;qgY`sFtU7+@r;@R~#p=C5cl401+)uIbXG}va#M$`M8!{eLJ*OLnh z2YSLOX6hVhfG+8a*>7;!;7lF{m?#kle3Kd-&*M><2CoxlZ`58caLx1cunZs!(GhUE zJ2wtojZTfVR5ZQ9=2S^?70dNxk!B*l12y1ta+R~C(E}d97jj!qFj}DNLp|r_Mi;vT zE))GGpt&7q#ATAg(9JI_)?YaY9UNp)LgeM;-ErI;d4A{4ok~jBe50EU1`rAo@7~?R zKo{SMH}v}m06veyB4yRg5NZho0YXx{(bXyfB`6}2Vm26ut~|ItoZbuMW?vGo&B5vE zdP&`)@pSn|0G(5Q|9(4FW(Wx;W+3CUB?CAu`(xL)htwhoz%!K=`_wq%;t5Fj;CQYa zX}r%-)fK;cSDSXvt`L$v%!VEI$xVm~2y}BG!xHV~@BhJ)!)LF^9s=YQG*e~q%5nKM z5T+YMQNoLD`f?4_^}9O=uNLZ5gUH1U8TB2^=1FU*6)=NRvWO=)d>}R(Xw5JR{)j3I zNaNl4y}dm&egGGZR?Oslwh6n_(?I_a19l^pS-n8L=!vlV-q0rsfS2I_{Fz^#?($fT zeFeap+qCZ=5fKq?xcBPs`)cZRjEwix)$ilsnE-hbMkO2vfYf0hZDcu+EAjpHVbZh+ zXxRqPdKTy!U`af|Xc#I~FA^F=XBg1*02N>hrABO|gVF#hK02Lq5I&kI|A-|ML5aBo zn7rY+2h5`g}6Gi_(uCLb4~7>k-x7=be2n{IAyv`aOCgmx988XX-4qeMhS zJ#Wr8&bRW@Ef<>wK{w|Ng@wqqXr*=QbToY5-drCZ9d)&Q7Y+^%MwdYYA`DWYz#BI+nBGNok z+7LE}&1l#v!l0NErDXQEt45eKODVB%30&_Fy~0_0igi+a#~Gs~i?J>>QBVD`n!1#_ znp!FW&+GAW=BeUwLkCaDwAi^5$r^2x{KtA*Dc6i#LkfY~XQLR#r-tzVJY+)j0h| z!Uja_a>y*~7>Ewf)nEqTb44z3yUF7M^IHkX9po^gF+zJ|5Fqkjs`>Ba@==kGyc zoDP$PBtW3G*}Wz>{r0+OG9+n|5GnttxiCxBZS%w{3`Z0vfLeVrbGvfyl$wm}yJEgc zcL)jl{{B*1`sSvkMcrBoz(B-D>%-Xqrl5IL4`3QY=KVlY19ZttbV7%au$T*<$Cs6H z0E!1tFW(4h6oFVu9Rw)+E%4w~O$fjaQGj7>I+iFfXb}p)B}A_^0{42B0Kx;nlqzqO zJrHa%09z*V+Gx~X?pThBeA=1z^&aE1nR*C77NGiGu_bev;20Pf036o~zsA8Q|BxsD zG*3RU6M$anrB+{;nqh$WO}G;+r^}xk(fm9ZdIfR3IJN?(3d;b11%yld(Y%WK_sv>;*8h*2{6Psrk~3*z@ty=hR)uY$Cu1x#34TJllw zB@^INkSDcti{KR&jy1VE_?@lbZcmlS1rbmIR*%P|C#=JidlZl%;B@iy>`ox4!hsGu z>cFMp1n?M;q`g2JXjfZ43d!O${(TPsn@!vBsV&zOQSUgQtrz(A0X_DiSc}WR=TNFA z>}j-JP3hF@)T&;S)divq%msh` z{5g;1$Y;Pn)K`BKuC|+t1IQI!?{yTgEVZ^Xoi=4HJ-}1wT3vFj=h}WUN?F0b$1cHlOp8CJbupcM^*jqB1>pPEqV*4h0Q(`Ev^LwoWeMd9Uzm)Gqg)IHiUp^f}(M5_v{cxp3(jL zwpCCIw{Wz5Lu%bc7Ub;9+PL_Q}7KX_5z}kS4z1W=(~Am3IbSfB=oV= z=nGofsuHZw?yU3kbE_iFvMC;gaeAe+;#hY5S?y9F^lg-tm6Il|Coy&bO^V!W-%g=>;|2~4TTU6HStW7uqeET-EtPFTTcAQ5+?%lh- zn4Uw_s0_`5^Er@mN7Xxk^c=JAt{4VfjG4|l43@2sDx?m)w`#_A_UnCO9&vGTi$x%W zpupQVv8sVi5f~?Xh+_vRpgLB>_eZom0Ua4qQc{A@(BR-vK#Fb1 z!vNA8atEL(2>_)TRJz}VEFc5NFiIo>AI$y^CawW2iRl2p_#mi=d&^Y_=(HYQ{*Rqs z<>572tU4b)MAbUO-z)s}%|BcKLLJvAGbmvKQed(&`M!|&O9lp)l}_yDmX`Yj1Yq@0 zb+0|u~HWb%30qni#cWDRcp`VBb>c7U_BY{f5@pC}|V+;^e)?dDS5xLmR zCRE2pmpP`Bi#q@^zT6F=fgT?jJO=tXhD9?1pcIt`XR~%O1AZQ!d|KD6NNnE|~5$O_rgXKy4V?%2)M<^oiy@>JrUav>Anf7b$_+kEY3p4GH1 z--G7M#{Z6wJl7M{8Bi~WT$rc7Quyzf%0JjZd_9)xFt3^ka3&-q1VZ}%9)b~g78w@y zdwiT&N_od*01FH2J|W=-AYq9T{vF7{eyjW#&>&3eg^%-<(xuC+$PW(>>l+$Y*4NkN z>rMNK0Ee%UAza0E?0|vOgKEA3V+%?EET)*GBGhZ8Fzfk?^AD{xJ!AT188Kd1n3TP& zH_oFbrM%Z*5%llR5OVj{JF6G|Z!ky?9OsM?+U;!kWEFu=$|ShM@t)u^^z3mFrTWS- zMEp`YW^5?A?zpv2b6&Ug(wbE#&W)M78U=U2Pat!PG>Er}T|F z8}V{-=hiIYRo@R-!f3=}yMmP7iHc;LJnI#3m@2ysg&JIb?xiUMM2M1chyQ+oYW_F1 zu)kmRj~7O&qC2D}?$(VtF1Toym>l0;?@sg^0u8?hgl(PQAEm2QnsV}5t9dRDXqGKz z=j46Mgd&hN)Xqs|l(0)^Pxu^Wg4ngo{Jgx%^FOzl)eiKa_XqnbS-EPDa>fw&XO8Qn%|vuvO^7I!z@Th;mm!j4#*D_KrH}QDmp7cFEk$}T zPV@jpC{@NG7f!CkX+QsXY)lW~KAuMfc4|!bJ*A?Po9Y^`;s)d#k!GphaP{@s+1o`B zNFr)7^9zCZ$g%Z7#Zmg2SZG=!N3y7B3Qh(jhVn%?k7y zm`r;8++| z`-V%~%@^C2#>T7MCFyDQA6I`r{ras|BA-R_!v_Te(6w)=erQ8BBse9F&{L3sB$wxv zIqNgF;T;tV{zxW{g39}U#a@u2#lA0M%y;3@R|_98PmO(&$5NPT-A;2Dl&A-4-Mk7< z($c;C3v7O!VqB}d@C6Bgzo532e;cJ6iHU&a5wf`7!{uB`i7DcH{M%@?+<2109j0DP z_b%Qck2T6Wf#NniiT0vRXiXZZL$H?%vPQr;pzQ?^uhom^E=rDD??aAG&cB9{PPo8Y)7KtK_ z@YKPUW|1mAh;hwm1q|bT3}cT)dW)n^Qlh5|h*nJONBe7#vB@f#pffAvWcU3B*zWM; z2ZiEbrUib2z^pw zJW-%opix4ktgJaxX~uwnIsk6`g563c!YB4kfEUq|PjRE!y&JlsYdnTkf~gF1r)H=< z$>zhJqpwp1ofr6X9;gK;O5rCxDT2gDdW7e`Ve0DeZqjsEs=L_6TK_oU+!qtq$8zsY z6)y}FD3=*=Zt5d%At12~XE;(m<=_#+t>`eRq5Q_?Xmqh*Tl=|)bkXGdNNPy{Y}h#3 z<|FGC$p>=fRsc_$$fo-ViCP+DQu)oM1RvZwk4ko_w4MxM)jCMM)&YQOu6Fn1VzWca z;HwBGh}_K2XqAJ5YQpD?hGJh;^K1L-qWcxiBUe)sUuyywOf4ZLe;X;W zl}>kjT^gg*h64eSCvR*H4-0kPe7K$cbU6XWjnp;9J^YgQh$#h!rp3jUAWzhS=F?Z^ zIY%v;hE$uB7t5Lx@hm?snYQ;4dSZ@7gd(B~PsRPnX?#V(#&Y!$L%qGB@IebftcK}n zf!5m_QezVs5KA~aC8BpsIxhFy zR(wFCS+M|s&GC*4VPg6f>zqWt(&Ery{am+n6T@p$J5s8Thv9c_CO8;ZVg_{U=0a1I z%fhE!or7tU)C7J9rT|>jfZL3-i`d$F%0mKzwHXUx%yO?2`cHcz%RatU{>;gL1z@OjV zD^TcpnrjIOM*Be5D2A3D`5?h`6G7dt6^ILdh;m~A#eOx5q21kYs3a(X> zc&JwkLH4K^R(ijwD~`C8l{o-!&zZLYd8CHDJd}u+h(wI%7rpuiyWm!f4WpAoMri33 z*)iEeuhU&&3EN^s)ZO0NeLBRH9cG4M+aCKq;nR7FdahtCdqieN43laI!yJ!UPuMxT zi`-CJOO)4%L{-W&`;m+^_L7YjZ+Fa{syN}H^tOlY?!-zWqX`8CHsCgHv-c|-8^ho5 zJ#Co4!{<@)F5CWLxP zX+S`LoP5`ws7(N6i7PgH+*jk9=V{>v_KZ=ub1Tx7qP3 z42oP{T>tagf=)cGCe6I!rxUoTd2Q2tWZ_V3Z9?Jbh@`-nA3Kph`IQA17S0t7n=YRb zI3@To2laP@GK<~_(dNrN0iJ4BMG0P+xxKkM7P~n<3s}$Y)d^G_=*!O#vE-q%!+ma_ zGdWau!)Ag!SCN@uNsvEq#}xAPv`6b4xlYl&TJ?_Dfbo<^Q-9KN0^ zP74x~gs#)dD6YxfU}8#bjb_t|dbzG0L6&me5R1*IMbd{9e8&+3KbKBE)Y{7O*_J!Q z2h`)Ika$qtK1qp?rO9M0Z6_3CXVmkS1i>TH9$&E}8b7VqWd^BwJ;oNUd-GE9(1^H| zs3;;Z%6g(;XsSfmYAna^i^#Yr!-nLW)M#vdzP|$)j*h=q3$qy6iCY%teXs4q=}`Tg z6?04Zu)PBH`tQo{V409RoOTGaCp!^q^EGPhy-72^d}(D<`pa!BV2o4tRV8t2!n`TU z#-8TXA9~*vVO8P~C$2GSR(H@u+iO%Nr-#=}?=Qnv${!r(Pag_B#0eNYKI`vi^0_`K z79N1wDl$CpI9dOmoE*H`jU}t30cqjkTzMd_1Xc-OX^8RFTKY=ZzwmDB@3D>FRY{kr2qtRG%sTNO82z25Z=8G@rd` zaSo#aH9v`Ei8n*8rQf@EkUdE}gBuagE;Z8XEAAyW7hJAt@s!`5Ih=el*Y`3Gj2=c= z2MB06od0I9*6wzs(v0@8)JorvXmrB;QWXcB8auX^*y9O7?GI*ur^X3MlZOExu~}tp z)vT_0+Nn|%!vIS!`8{D5FX&Czeba2uwht?iBXu(w)U7!)AE(ox3a96$$8RynO^E#Q z4c@$^&M}h6*EiR9!B1^ApLBHP^fKvdj_VyCh2sK}zS|mt{?n)M^9Dj}g)%5$=UD;A z4Qf7Hea8yzt&}ko{%)weq_@FuIZ~A{Y)-F`)E)KQLABNAURev@_xG^_qnTZwMfUU4 z%Lr*@T8A3lbhQCMFt3W;o@7A|^V1xzhC&*07OI_aIS8oW$VK4h`|6fvb$OP&Y~JN% z2r!&PCHsU+W7%jx;4mfn3Zo9^)|(65fq24?LkV?wzE|G%5fxdC52-FFyS`mVb_94Y zAbW<^_It{=A>mgW;e?!It`DhZgOqy1obP{k6QaT+l{dRUxty;A1+r=*8KgqUei^iI zJG5Ot7*6JA{2RUh<8A@+-dOZ70(wYd0>7Tq9~qtr!s6s?-8gY)@B8s+l|7N$jG(L; zNsUWToM%34ofroMRayiUZpEkFc}meagEhUsewjP8>5u-?{}H3cqlt;yWen*w1YHL* ztFwG9*D97z5ePt&!ZKR`68+AUM7YGFmO%Tt77)$*_YPp8 z9Ma?0iTTtCf4#~*C-D*CESKlMTdZI`*n;mjR+L{tJ;g6=8Pa@fRU^j4PSjYceW)RN zQD#l)eF9E@{Y_+^)u~LDc8Nx{u;;ycz|GcJj(!-R|2yc1MHYi_6*?{~T$E&kKX*2L z`$bMsG4B08ge30n?!WH-`3B**n6d^zYNq1%EdN^yQeUjW!k3J%uKakb^?xfnUPvi_ zP@lX>aZcR)cL0QOK0{CWvG)h|w|>FjzZ+eh9a4(6Oxy(7NMr+(1|MsmnZGs`-JLu znQ><3;hD%C^jd25-I}W_J92Y%Tg~i{8NBjnDVmiHuY&S48s4nsFgl(RhBYTOT8`RLb-Myt&Xz9{= zyJ0OVxj1&%e~%&nCui`mNhUJ=PYc&y@+f$F_#m%#Vs&ZY^tZqEhi;cH`H9rQ(LrFMHWk|pG@068QPL< zu0m+mx_c6S{=Oz4RC*EeJ4P$sSL;!2Dn4msd1V);g^|IBOJM+vfByV=4-XFpk2f@* zC{V7po*ZbH9~@*EJYju;Mm4b7PnPVDGx2cg<&`H@K`^-B%ans_q;tG`@KdjHkp6g<2#&9#);!l>@xN5 zdl&d|f6H=C%f#qb7_TooD~mHx-ox8_@bEt*K`DcB15_1Z_YUI5p88?YT=*am*W|?A)3>QG3F9!i)&|*R z-HMTgSiQ^)$EUp9X;{$#cC*i`VTc7GZS^uV!n5C67I>Su1s z@P?se(DgeNYf2cwRfi_NH|gdLpY8OB0p#YCf+90Bv)X>)q872c&=l{!G)KUO&OuLP2u~RLh|7xo&9ZI^_+Y1X)%gT)HppLtK|jd zt%o#L?F;xlpg3@=B7hb)Zp+*2aVjdY?QQdG(Axn zZWE!BupX;(mYjFJ5Xl{8YsqT5DZB1%+qUiHE6i%$ zlxR%#kh`8_^JZOYrqb;2@UX#7$lV>~y~>11hxI%;?F>V&`JuGvU7Y$ooBp4t%R6Ic zbV^ou=tKU{XT~WnFo#GqIK#QaPxcoEI~(zt+e%bDV4f6_P{{lppW{tsA|fK^7SLp& zy2Wawo2x{T-mg_0M9|D$(%%U|*p{z1c~hlV7vF6t8P|4#KuO*H@he~ye;YP7_JZbyigJ32o}M-(3md|$L00!4V`Jm#1{aG6 z2M@A`-{jwT%7=Ak!cJ4Kz2o0|2_@3MovU-8ftKnIj*HRL(V@@o5^~>@KV0pG|M&XQ zW5)mm#^7FP!?~1!jEgJ zu6*G<;Q=h`LM6(R`nRL@w8PdNIpf4>lpq;1ywd||Wp$q9@Hf1(+?5(Zb2MjqF>D;} z-qhx~@7qtY{&7=xvU=0vGvk+?{nm+1$;yG`?qV>v*}%aCqHM#{S0P}97XM{#`!Ppx zvxr3RS6LkChwi&C(wyjT=BI1zD7;$I;tl;8K7dOucmH!6m&sX-ryDU#MKJdxIVX3T z7=(U%opj2Y)(~Ci>WlL>sy3r4^F6w9x~sbmy9tnQa=ik?pjZI5fmc%phii{Ta@kf^ z5LdTK40Xg$Nc$&DDE13%rCg=Sc1(SvO~si z)&ukNH%{8uoLi~80LZ31qERdOu#zSUP2#Iqy3%f*b|Y)&z}tapWq+Fz$#t9BKViar z@nSE0(|*bptEi62hqvc_(CHKDR$~}~Mvc#*;Rq6wlk*aNJQ_<`vx+6ZH+AiQQ;FRI z<(9nLkrvjMvAv~N!6kRQ@ZQz2q!1R-mIS zy$0vU90n;)u%4CueI@iFAvT@r*JYrCd`^$TfWUpw2-mtz?BI%Yp?Zxtz0HhQpuHVW zd~lm{^wjg0zoieeIDI4Dk7jv=7&?U8O}8ig8uWN0?C}8}U8aWPI&OKHbG<$_LOMQE zJ=tf|byBQvPb(m>FY4IY)%8@!wSZFmuf=^m#)F@#XyL#FifSqqzN#}IO)DFX$V&SH z03FGl0q&zykgEv3_GA}Y5CRg7OeAX zWzd~w|B)^H367@&L2gY8PBRiBp~wwYhw&Y_LS6x}}lTUwcqI5e!%@~?;S zQWblV@ImxaSC7MPQmgSie7o7|{_&TFDBA2t>(`d+=N7ygC7K>6RVv&_#xRfm9#Ytl zry?Q)+7;$7{!2?5wxHy8>?y019)J9jj>LY@#;3V+g#Td-8$tFGmxaI$=V7R;EqU_| z2xrfxA zhW5n+1!w04O|CPw^)YRRs zei2@W&HTFv`(vd}$>|J~S7A_j{D0Gi$RNf1F5`-61~2as3&Vfs2KVUrl6R%$&I15F z{qI6>10cS-YP^wk7&bp4%&!ub@A-$M&ac`0fJKO#Xjb-NTlT0w(}d zy(jwL$-Y22b#*`)d8w2mIxB!3^)X}bcD19F~M}%$B|f%ytnG=nbJkLlEIT+ zeb@|N^&I|KfY(WRGXXBY9vnX7N*=z8gTw8KG{pck|4pR%aFW@3XuT8q0On}8;dq`x zqB!V=YPUD`_q)8?BVLBA2)K=o(|*0P)W-oetlr3_Iht(r8LFI|oO5kuZ8sM;;!m7g z;Ad5TG(XC~s1(<`s-Zeg+y}i}!`hnJtK}w>#XI+XY^8o&O3F^NP3*?A=S=<%?k$pB zkX5z&#c>W+cq+rovpdw};fne3p|rR!UXb+oWD`*qE7xqd+@8;5%Mi}i4$n8`Sx*+C zKp)tle_ZFDWJp#9V~8kY{O79`(fjiB(Q04I(+L^LPMpO=3IId*W&@m>`(n)tt?Yh_ zz8&Yeq#b=M^<%a#`=uPYc=~(?4Jm;$*9vq0`rY}5)L(I8;KSs01;koCiKla2i1Sak z&KT=8zM+w)?6j=wB6Q6mT(vi^Ch%OT+y(ZRsN}^Ozih6NS>tG|MSJNZ&C&rPf~13P zwtP|-5|9eXe4~|Sa_BRHD@=ON){`B+hlZj{ZTej9*4@R%#x$zXy7%BgmTWXVE1-YJ zWi?uTJkjf?zu{Bt4Vt8w%bJ02_Gf%<2*EwJ&jqR8pQ&Z3cE5R8c>Qyb5TSU4aAd#u zdUSG0frGsH_5}>p#WDO19p->qxgaFwJ;j#zlJrUAjmC;ZbYWP{4;QubeEqC6KN;%4 ze0-a@N+GPa5896v<(}5pyMu*=`A$hG zAHaZ#BF#t|&=uD>?^4DaEC~q-t!m33dJcr`Cuqz3-5;;dj*ml?i{rm*0VuqRCcS#~ z-Du1$R?E0Q?mMvW=jPCrBgUSmg$jTRBlbV^42q9?aoqAI*XLMX5;i7;HkVt`3pe_H zPX^y0ZtGropL=X@fR8U}Be;ylCw*o%e$dKrTaG;I?Cc~H^*Xj2zeTm(=9>2Z^tn3h zMX#qlg!P)#=x8^4aA5#MjfsWBX*Kq;RKMw4+if^A~;xH;s_<-WxLzo6h#LPA1} zfp`wcFV+0LeiO=g^4^$*Y)kc48l@Pj$oT#s$sgVcSCFQZ5J7M~L;ie0(YmUvtkSye z4pYzd2~C>!u^o9}wIe%<(`%i{uJn|jEzYlPlD0qP?XAvjckkL@nM{6^Y3on33({?Z zY~32alu+TWYLHmpD4%UoY-XD~UB){mgI_3K^P)uY&h;Obij39II?MwwCBq)$O_1F* z;#WP5EBzoV|KZ*NlruRKfnIV#hZ?UlBCG^QDP1fzzky3=eGYt(*9EahaPnxf-E$b5K zR5jnJI+J0Wj%L5Z8C;*jw^}lGxl~_@-z+=ihb<-$~unT zK1NI&4afgAF`*U@ZMAPLrt!cOucP=P6Df1CYJXt5*umkM-O&_tOn{kTAAA9YR@Bw2 zAA-Kpo9UP~5CRsG;)vkpwW|tIv=D2qSpy%2h(7%3?2Q`p;4!{r62|FFM*eklm0e1s z*Jr;PY3}C3@Qf@_3F%06C&dGov&YRs?L7sLw!kPH{Bm3b2FvY;3+Kbd%gB}*iVP(O zM+$q>73RPWTy^WIYPgVHOQXi6)6pbGthG9C5^v3-vNrmJZh)BW4fpdES9W((^X<@U zjseYN=7ly4K(0dIq7DuY=8&}A=5^TW>e*p0O>ktSyZ!A}e!BTU3==@@acQF7LeOiV zdq)u`BIj$-p0i2~i^xwc@ZFE+qPh z^atFlOJa^_RXe7YgvMetco^gD%Q@Wv=^Bj6#SEhawnAy`Ekk zZ^5pd2+$1LdVAvyh_2K(=deg|ML_4ZT_HnXG1kr4q7MgGOci?ckE27)I=cM#a5BF| z!;o=BJTq!O#?}_ zKiPWS*uMRed7`H)abmrqsFlljusyg{dKvYRwD!hK+@i_dT{Nx5OGmr@J>-;1$RZ;( zxf(kYP@t^3wL7(2^9u_{&Ea3LaK~zFpz`~gfIJ%a)^BumYFM{{mJUaX-@JSK_UkLg zGSz$nv%xsCb0i#`F>hW~VcJhLTWg0HGojbypIY;3VkqPPvouP)X!5<6SEH|d!`*dH z)Lv;fE8$$+F7o&B1nUyV-U`;|ppN15v>9tc&MXz8lznv++ujw3cZtY7Hw>`1+Bi7D z!NFjZnmYQ_Y9C}j!&_--m0~TfPkZzI@WJ>kfaq#5dlrOHvo$vHyDojv(b1k;x$%07 zm%E#H{6x-3EJ~@?*G2hs$M=4@Ae}og{Y525nS|m|a-Olnb#`~Xa8}HatwnIwr}qqQ zA&b5;GRiIZl(*o$yl8`GUq^D@`+t5HPcQZOm+@;g)~nYQ&-_2XkopIXjrT0e81wF% z#?KS)2&FK;e0ck=0CVgeom*AYK27w3sqAOhdm`yBr>5?JYDyG-<&E621J@bQIFZ=8 zE$^E7c3)jhEME+$=f1O&3#h7kRiabFJn1`8pq$-)$r(xdaeaB&$dk`m{OJ1P1UAUg z_L80+2Z(I~8nK~Vx%dRmj}jFT>S=Y}`<`e)@wQ*}F?NYY5m=Rd7#d2ioesV@xZV~o z`NTeCCH~c}g`uKtDc?h=2GzNgw4Q)PyP?EvSG zTGybDXog=1l?m0v1PdGF`j_Am3t#=7-=jEd?R{bZvVEV1aN8GI&J}jAP4UKVvSUsc?q=Tv9~sEpU-Nv|T9tREJ)De|ma~Z5_e^ z(LMKC{G&;Q-ZV&OznN_#k@S%c$yG8Wy?rgDZiVsM*qr(B*P#>`+WS0TdQI($ckpuj zK6GyjiC&zH-hI>mldc&#z;cBgB!QXmuCjTy3k@$TMFig~XhGdgG%U zE0vBMJ2>bfB>v~0_9R{#Kq46fKywUeNi9gT$R8T;_(1j$r?RqgBFWjR)qtlpqBM^D zr|1uhGyasV*t2I22e|7(dkF)8us3Cm-4!&`3 z1l85)oCEq0ccb>tx_Jr;3f&@fOOk}5u8_27#fmpY6*A8^($9H($=gy>+y?E2Xa!|* z=g)&;I&;{*^WEsn$_6cvy5wcZy^FN4IcsiG@k7fN^r`hwLlE2ewb-Kcb%*UFGh&Gv zq?=cJWjQ(aA*b4$WFi>rdl;)Diq z_k<6^r2`c6qmz)U<)fRM+C{u==?jwc;bdM832FNELOZrp{eALm&Wl}GjRzfzfn=53 zWVJA1UM+X#8zU#$htT9m|A^b6j(y=r$ZGqs{3>jSEwrT~Uk zk}C|$y`|a0)3S0aycdiIba5#Ozc))npH5hEvwtcrK11p5xSi&h=|nm?iixE}kM?5J zCwNeQ2EDkIC{hj>wYKNIUp!r)1$T!JkVMdkgHI69!Q)2JYqclhLr`wF+HXZr+h2xC zsq418e1T%A3L02-B=jYTZEcSX2@_DEID~{$tur-SY`SE~p)Y<6W~2F6zk`X-3FtQv z2)Qcr;Sd9`lK3$2)KlS4tkl%h)pm0lX?0C!&FJBjEFXZ1h+;^gIe9Gy3(BCv9|=V47@+#mD|^d7c9mCE0gybGz-7WJ{(gSQl1HV%8JyvDeFx{K zRi9CRf1*$A2B8nL8eKt$V_}o%?}P9b zyII#h;I6K&RwZY2nfXllp;Dk!QH|Q+x6!fNrGR0L{kcxoJ`aq4?y_AE`UP z4NOj5tx$0!EE?s;-60}_mnR6#;*4gU8tZDyQGYC40#1(uBU?MWP`4Chv+M`-Y ze9s?)}?;=e#82(BSaz#8?cQl=1}AXthqsM4UK==~uwdGYWDi{jumFgGQVM zyl{S{Ao_ndcaNFyjwJV+{v>+z-^&^Ju2B@bj;Q0__|3OYsgK*M6p_6?+H+>(be4&;mbzaP$>}DMYgi9uW;$8c2sONU@QnNY$89J%vpTnO+2S?tC#g2S>rFroq`^9bsX}Mf5(740U;nYF1a{lLg@^3mcEEuq#-@A7&1Ar%$e~`9+FC|!`sN0gK z(070)=JS>56^VKJSu`!zM#GP^uxx$o?S@OPat*mgb^Iase_72n=fnb&F?JWrPh|SGZ?Jio<_j-zfVqY@raOeVp>qd`;50< zcsmg2&sd-PphHoVF5s=lE#RL|OlM%LMl=JYQZc z)x2v;|A80Q-6^iaT}n}dG;6t_uXh6ztL&!F@+IW&oL#%i#EnWEmOrhq#EVCow--V;Yy4?fUIy%WDw4^K~V zUY9|~3zTV-`0NHc1My0boQd*4ir)c&KpLfbOptZogTK9#0CSX6Xb_ZWOV^igRcsqJ z{K&J(HfWzi=g7#0nJVo)_{@De&G5TYu==fXSmZKD7-S4e51zJ}y!VoxEpaco^#v0z zxKaV&t@ZTj&c(i};+?A}wK{BW3)ce9Y{4$FT<19OkHMoDJdS00#jqA#qH*H$(-Ez- zg7X(tMUeIxa4bwYDAD^svJr3D5w!ZG)M?N4&i4JP+=r5U| zL_|fEALqWid?zdWoR5zW;;gBuX={JM3p;{{_d=oZKWJr$sHwq# zmOSQ~AWQ`&ZZz+6~oHn$Q5USVu2sF4$eOTC24|YIyZRxX$w?tQmnG$sC zWhl_qw4GSU+&*LCC6F3DP_EjrMCisFLa2>8`q@%~MSDA6J-;gR6DF^}bXuEj`^xa^ zR_lh!H)4>SjeXBeBN1XJe_qz-W|KOr@iBu6{<}=^q?1uNl zKv`WfIf)J8_@AA{`F{D5;b4s8f=gC?QuTg*U%6Yp&qAF?C|tbS$b)H<=4s1^**Y6{ zA8_zq(9o;STw{ECLAgk2YPz$TLgQ}mGzSNfK~VgJ9EYYQd+HOGh&aZM%uJ`6wmLY7tKGpRP2)O^? zL8a|wFAXSTd~0(oSMEoIYT9s?XfpP7+T%Yg#tg_mgEGzJGVy!91EM>rLv1oqQHdd; zCA4A$>>@jR?sL1+cR%&C`Qu_yTlXNxg)zU&tJ^FCT3eTc3NxbyB#AR+f4@DUXJOjo zoNQF~M{$eC*V{=48Bu;ijLyn{{llOsN3K00CD93g4qbw0tXxE&z3gK{-J0pFmRfyx zW@}iM-1wC;EsCnDcmjrp2A)Z!`;VID)aDBvjKhD+#euH&v7g7+Et}%n6}bn0170{{kEb?m#_s~b6Q%O)a4_^v|(@L%%6tjBoDV%I1d<0Z%zhD z`kfZ`Cr-P_&$oSzyfsktg(Qi%2SVw`X)(kh0r z$tsDRud!`BS5i=bpFj=kbZXZpxSxFU>pw>@)Hm3Rjz>8uEf8u(M=Jl4c%~y|Q_~#c zazZp0{~va7eZ?RnuDP<2!SmC?i2rSkCBHslf)Kk;7qV_*0AEG#T^&?Qa2fZm{1 zU@()D8Nj$BDHE-D$S+P1z43;Avhwl|7Z(@N`=RCH*||P;el?~l5=lla{uLgXqn3c; z*p9IzlrXZ-pFH%2*3J0A4R4x}9JpCs0#ALvMUPr&xvl(zXd;j)>KEp(T<5!1P-wVm zQLp!XtumPVA|z|YT7`#UmEDA!+zNhs?~+zRkOYJu-TysOPD;-3B#U}~p>lgdMQo8P z;ajU+;`9oGPYQG9iAnZXLJd@@qcZ>CY`KzF(472dlJO(-i)wGZ+39+`^VL>Cus2 z@3H>a*mrB%IJbg9E>I4~XBU(uER)P?eqsdRP1~KmF$+i5y~@c(6X+!5hMk1%O>JZ- zp>pt#E2l#;;GRw{c4yqr$!x$hILjYV%(-68xmF8_bRGhNTy0PxTOPpxz0?N3ZN6I% zQV}xdt@eIM!=shMCa$C~OJ{71NByMK1swj&u^*SXz6YxpTep`Ps1N2;mi>BX>wwNv=D_?^q_GX8h6yLX(#yLz3jBDPv*Mt0VVePq(mFH_0^wUnjgp zJ@m`}%x?B8nOwallN$hX|FOGjBJ#51Z{o1e_dQX>c$w2%#p|=E&(wzA1+L%p>2TJj zjLUJkoqKK{W*5e~lw&r@oN9K!_jxJqmqL(k4bNky679g9%ttS12l<3JLdD>@xrS|i z=;{GL!V^7xs=d=N0{@$;_54gBS&G3pb!qv{BDgF3a>E0rCTEy@-)Q=(z#ZVgp0vr3 zn0?&vbo#Yf(98Vpqr)$`8VGC8Nuv*`d~uMI1)u*z)mK1OwS8ZMC`cE=%AAuLcr<+r;Ny@;RF_I`!bVP+wFp2e(irVa_s!<;S^koHq70 z+2UuEXqdY}1u6-2)C0&hBqw=4?^m{yu%jj%PZ-Wt7=oDf+n?d$LJxS-hd!)zb8n0= z>5|6zqd^lByNuoLo3e$KeF)I9Yi2~y7AEN)66DhLovIk57jDQ#g#A+oh)3Nn%%4L| zp#c$aKFrj2JIS9 zofDL0OVKrgRR;kt=#J?RCW>?b#cnp1H|_)Qq@kKo^KR$Ic@<4eR8P8I&>&QcLjYkb&v)_p0_h*InH&`r z^(dQR^IfAxrG-%XkO}ek`2Vwm{Bz8VIZoQ7x3&1c?cg+vmuQG+hzJCt@?lMy|EXBs zfV9*xv!PhQ|0*ccc75ysQXm%azhj~rh`#XYLplGfLz19foP20zDXp7r{40E^2!h4T zy8l(n-)q}+-+uV`pDvzdz>11VE#7={eODYAPg2lgJ*sdk#%S0+zCsak(G^KGWWqLD zpn>PxOzP)BG6@I@Af-G;LRw($I0b0x$>mDu%Fa$;RTU?2r_~$X42+BzZf&=;>!B^4rQc-m<|(}_3b&{jjRqiIRmz2aY93v!E!;>e2W1Kv+3{~K%e8B zGZ+{dE${91%~spPgD0i|3CwV^@;xNPXn(dkQNW{SHfk=J-|Z!<5n3=I=X!#5!xBKD z-jI?mCf8aK6B7sFv-)RbyrGniCFQLD^N3=C#K?h>OiH6}!|0A=Mcb_j>&?wk`m8Xf zu1P{g1Rwp%L~#t?xb{Zydv7O;-L?WfoEGtsu~tka!nnT8! z^yhL^r70D=&`zD`S)w0iJc8+R2a6%1*K7rnDOt+M`RlEjgl{b;ltV=4AISByx6Yu` zNB+@sM|ry6YSW3%IockCK9A?C!PQ-F!zQPvyXWX6MS)!3-`{`X{tjbtV?#V!HVH14 z(>hs`@6QU!K6QYwiVBp6LLK-z)(u>)#{K!$$Obg-Rj{<7sL3nKZI$0+Lg=_MVvb3H z^&#&Bo%0}EC46is*n>I4N!e@=SG}jrKVyz;>^~2sas+AGe`i(2&e`7U?T`}`&c2Q= z7=Ea`KwD8ILDU`jUf8=p(oWJr{$ZdqEkN}NN5j?Q{SdRT=SflhL5nLEe6G>I3AZkP z@eUWsv(I~^!DCd8H`@!1^v}7*=kA1lvb?#<`Y5n~gVI#1h2YXCr5nzqWMM&1$Z7RB zRinzPN`??0ziYWI5Onqerf~M>wt#Z0xp+Kn7kEre%y*WQb)VZ%&i7_OBeD-NGHn9` zp^REJZ*`mCEG#VYkEJCf^Z-G;J6YnJlS8ekshOi%M2vulmMWhvrea!FTKcKv^Akc2 z3)0uG9|0r_RLcM^*xK9E*)?R6adE|h#x|mXxZrv%fF<6t+3Bi9+CfCTxPW|M9>)a>(Q_Lr@%)7~_*tYMFYH=YCEA2C-4oNLgWr*1Xi#pVLK2877O+71!}?&wYG0j=fa+Xr|bAi!QeGMgq`%eglzW6E`w(1KyF27Kz(zfpj;^(Ux1^v!*7n- zA}76JXk}Q~v!0vwV8R8Kxwb$&*SoWcuFlR>>xBj-m`d>1ua5yP*p#ldt@d9nK&XJ^ z&UgX*2T93g01`kyxpLDHL|_(^mOER!6s(2{z<0ns^V-vO>8}=Zhqpy7<@hr~sW-w{Uw7k7M8U^GE z004ITv)t?bNj<Gl_-YH^!iFSKB zA}7j|-P z-BmSz;R;7o-q)@`#XOgxk^6FgBs-Mi?SSRQl|kKHV)2-1S7$dq`mLET!Iv=>jU-%a zPAaEFsSI(C&__g?V(OH8gi1@1#KDsu908cB#J>&LSj;;bZ%;q(xL5sf7xhEl5V*dK!3mUYT?#3Vr4@=uJM9iWM-VsVOn)& z)aYFq!JDjY)4M4MoIn527rnhPxSzi~x*zT?bj~`^-EL;a6M?z7k&%%BF43Be=bNe# z`&qaT?^r?tgOEJ`!DbBTTK;uee_C9OpN7s<46|^PLqtLRq;-% z=BV?$yLNtM(*Jk);O;4CKNk@ZVPk7cYKUD| zpT8@3!Ko7idQk!x$H%@Qy0i#qZ@lGNnu5;SP`uPy0uc)?X&xdrk{+=?d5h~;Z}ml4 z&<^EKM-FT-ybetF{>f?c9xrfSfo4Hp%hKb zVY*I#l)Y#v+FHAWb9l%&hrKxX&faYM#S`MQi#M-nf7lOo`N?XGSdY|^eUlmwP zm;W&Af!cyTXjeuC2A}55*$C#n9z3#S62va{=a8R1O%?J*1d`~q!ibsE(Xyz5g2Lu} zy<5XgP-rNVLPKVsW~=4;%8IWFY^^(*PNhe+P_qm4&nwaIIF3>?GBPR&Y3}Ig*e>(+ zMS#oA6(uBPe*OCO0`!Harzf0ie*qi%W=dPi414~SqTVG;ES{4!s-KmtjOU-V%I|jV zd}9@i7vD6VELL5H#-7rX2Sj)k$0i%z4O9(1uEC1Oyi=K)+$yi)8RfOoh$=U1e)S0u zodxfYXNvU@04&dxh@=c6w(^fDyA@%g6^Ax#*_n3I;EVCtL_K>v+xUG8SF_Pr|Co?(SrL4`U^Uh_t_)1z)#4M zjfUy&uuTKbbscC4Zc#!JX(!yg)xNz__4!5>yAmGc+{hYNkw< zZR+OYa!GVDQ)-9`aP;1I_MYvISo@9sIXgm5PEH=j?e_pJblEAWa@k071`S;ikTA+0 zyC}m{)<$y`*~~^eX%}W_J~U)9ynfxXZSUZ~hUnXzSKE}Q3_HBIFy0!@RFRpJOA+ws zagVOO43v$gRh|SGF*7r>O2yhb?u)7&6!}s?i>4fAj*N`vx&ib$X7wJ`GK-h|k~*)i zHX4jG1^-mUQd_eTpaa5&xv`7r%fhR$4XV@#Y}+pUj2(29qD0bJh^wX@;+Y36&NgYs z{XHh$XY1n4cU+}Z1{DN;#G#i6#b+*$rS1hf)-DO9XI@FZkK%c%zOZ}d zC!v9>USVeF>b2S#?mprIfq6fm4UBx9 zo^9lzqwC4@{{@898w!dN0D0;Jiwz8(;o+%fxJv;KwkIDkMx)lrGTE-Gq(mrtM2(-y z)YP;$MeqT76|aGaQ=#Kx8;b<3y;7&ws$mTZkWDE zn3d8$#(#<+0U*&nS)vcl2?+^_e4R#O*!5tOsBc}p%9RQ$?K@0h_72wl*okeDB0 zv()kgG-U39GJvLp^rkh=2mPQwBEY>}OJ^eA{H7{4=!%#L3EDq62yJW>T=2LcB2Fe& zI#)K&2BfFjw(k`G-RTJEFA9>fvu$N?jSZ|G1xVT5%>`4W=grTb1X=F6dLK!!wQ6%% zdC`c{j5mli<_R*%U6R5jqXRBh0Q=z`1rJq188pCI z%4*cxG(OHD7jHI}$Lw|Q4q)1EKwW$f3~cS__y&jzwfH6kzLQ?o%`*t_T^pW`yHH!e zi>GJ00WY&H_t*=Bo76^R+Oj`g+6~|_Z#gh~gqYe3iDR9}8hwS7G ze2|;g32u7;P|@DQ)F>THz`nWA=+$tw?Z5-t4M))^zGQ_2Wg0dCEV)1ooe90NvJ#jg zQA~}u5rX%ZzE>w3iUsQI0@s`5JvgSBG&B-=n>K`bH!Z&~S?oQwntBJ$9QI9nX2>l* z)lg$=JvT-R`u-hk-)mMZ=#b-{{>L`buH)4=IzS?_vzrW(4%`kpqjdLSXh|$prOQ*R z6Ixh0ny^WpV@Mkq8R@ZX;t&3M9jfBgUA7m}gaB8Uh-093e%$iRM}%o*Y5n)n5&x>> zPmIAaUckpe*v5wLdo0^r2y6g}JYqj#Ks1vY1VPRS3hepk#*NzUbmqhL+o#bo2`OhryEVuki+{h$y(Sj>TksK$+b zu&j^WWwx)`!u5gvz1}J@_M+1x1O$e={J#rK7aaC$zY2d{y3$`vC@=a!WwSYJ+lp~uZRbwG<0Q@ue2A0=hhr{>cpZv?eU3w!{MB8C4p z2KbJZF=jUAJ)Z%+y$AWWQEx0b(NLorOh>XZva{1i)&!q=MN-O`3}+z22?+@)H2qtl zB8-NJfaoi<0&anaZ~*Io<9pmGmXjQuq8h7dArfmM)7h1o2f3if?6W+iGGtUgXaQm8aE@ITgmrX-sWa3Frll z>mNFmT#Q)rQOjg&nKiYDqgCoo2mvws{P}YgcxTV{ApBM!)yDET=J6r_eJZwiFVPT# z#M0Fj?@8Ho(FevSt4>W_S1Z=q>C#myOWD-`KKkt!_7?i(c2v zmuaFy10{N`{-C92wf)91fNl#cS^(O>JD#4|uC#ZJkp5jiHKcc2b#%b&Mn3rQmA?Mk zQ;B?2QN-f_N!k>p+6#JEiS#7)6jM|7Yd-x>-Mv(=>w#X(i2xb4rp4I1dp+kJOBS@^ zjneD;T(iMpagT*b)EXr}^rd3{w9AdF^BL=rA{{}n54WRZH1EG>==bFjeV3Y%y9YMR z?B-cgn!D^T@*WOT3EnJpqkHt*NYuFvGIom!_UcJxG?bZp#s zW5+Nm&%cH>EH33U4$Mt2$fBC_z_uWxk5W($t=ZhKFi+7DeM@XQpyA4O_GJ|nhL?v+ z?f{q0$ja&_`gghc;`3W8E3npy`1{a=xl*UA7b$^R&1wpx0D_dpxvX+(WXiPwGxoCe z^A$53_9Sl04{y-sFz}W~Jt_(xM<>1;%BfiMC1~0dmpstaab0^sDIE)z&q|&8cXfA1 zP>KJ2Mv`BKOnw`%{8YqQ^M2Y*a`7Z7c)G~FUEXF;n3d#v&lf?)Jl_V#Qv@CH(L4w2 z-C!TDm1Z%76e5I3GV6xgqUPzq!*an<8$@x!r&8T&DREkg`>B5G(M#_h)8EU<%*=}S z-IxVTZ}4-YwsSJxS6^RUfsU^L)lvSurkX8F6hb1%C>QeYT9nx;ak&Ap9 z;#ckv>p*IKt#VJ{++baIgeVom*jIMDJ5~0I+wPx!2XN;H3!$>v^C%T&W8je@*Gjju zF;#qi2pd>LCK`xK9UvS^%wJqp6_YLTul1#bJPuezn|do`3Y|@lSH~9Ec=NU0XCAH) z>&zb;omJdCct&SuU@&Ck- z0I&`F^E61B5yyj@9_lGa@1ep?^=&;e-RZ4H*N2V=PyZYCsd* z7zGlbKqdr^_tDt)a!jPps@cC=BEO6?Gcs^!ClM=tK+Mc&x3;$6CTC^-K(P;BL+dAj}_E)&q365`}aY&Gn|GN*f`V!4w zgK@;H0?zEC)&0MKApCvUn2lfz-0YxP*!-XIMW#slP%1SF&k3Pv3*-B%nD}^FzmFdP z5LS5l=g0NN(RHw|_pkl$*Al81s1WU<8=Ria#5JsOc^*9YFWfYSLuvYM{{?286mEL{pAHRe7Il@UbDPar7RSW6Ja3DEr0QwIm0q}g}QU5h`FN-Bm9Ep)v2 zW-TWx`Qx|B`t6Ps2+A7F5~(~4lz1W^4%nh;xuX(NZ^Om;emShul&j-oi~O0Nf@10N z1vD|bno(?`^2KFkkv_iyDMPH^-8c!Du%W;W@T&%Q&XeVTa`PL=LR{C-(7xYiEv|?z z1K?k;lQiZNzRIM2X;kQ~vt_T2Ey zG%`}Nj0ra^&u5*8Kp1^6$uztga2r^y9Vm`{lYG4{mlvWXRLjI^e<*AbKEU+$?K4sN ze;5TI*Wb(I^w0?i2n=xaC2(fDo~(n#>n?}7v$L}{Ha4ju-!Ojv{*AN6RpYp0RI#9O zMza72^nkQtr#*Fm+WV)Zki4K(TCCnkCgStr5E0_ zXTXPs?!De9(quhofnHaPz@gP}#-aCPkoV=I7?Fu!8|sv_09oG>FWA+STSUw8=2QJJ zC@ki~$e0<)nf}Dd!oacp_Vq^Pi@jMMryLXH&OZ43vNE0;eHE4d$)|D-^Flz>Z5{U# z!}$ku2?PITDEj)fm(P_DU92J59-75)pP{`->EGZP7CRZlw{;33KkE*#l_JCzfG$(xY+~k7}!BU9?-||7Y@m<`e0UUvf6P;2+z~@Kyi~1~j z_(=V8Ty;?j{~Msi~dfS5znb>C?-V_TXCm zYXG#DHa0p|yCSa+8Xsbr^$`($y_I1qxt!Uu9jQXTVE?0uBAt$rk&)6pfXi0fEInH3 z2xS`Pw`In^wtk{t_>P+bJtV_B7_sJRqj4_5jZD7Y;{BVZ!MWlpyh&r7%2>9|k|z=N zGI+#Z2)M~#>*b4=k&DNKi8#4%kvAe1pAX#ndVTpeC%KM4S-wR(bN>7IbC@6_BL{Tt z;X+MBK@mN%F{~vPnaai3L}t3YzxrHO*42EpG1k>z^2MI(L6UkRZ%PZNU~;SO+oKiC zK6+C$L~Icq!OnFe=DN{^6f$3PyFGQDg$MWKM$GmSPfNnxJ^N$gv-{^9_xOFq&11P* zJ${or__uc#j>5v9P3C)RzRbI)a}1opy4z4`+^^TXs`wB79nRl#PkT>JY5wd-$W<3H zW1iaUKX^?%?ZIex5FlyI{Dt%Ab~Z<~E0~p80*>uanVi(vjZjuvzDIApQt|fJi9^HH zv{{8_+z`nZe2q{Ivz~{fSv)+Xgc;(IbY=dyOEK|=1rPtL+6VGAF`jRXzlXD&+JsYd z07U>#FJ!K(OPa*vShM2vaC?FYZWt+M%U004?G#i6@Ez*>rHVd}*9r>@^EIk4g2nc* z6T`xqFa>Yl2@5~6vf8e2*{|M+<+i8vx;;YjMMN*Ps5Kj-#S!hQ!mTH*)apa-Y_vcP z<|pGI!srnG9jswJF^JvH4=;F+MEBr(idIosCqv*tdhOIpXc*8qU|Y zmKN5-#_Pjk042Y{s@@>!FCL>iy7F@ZR0gAaF3{`2de$YH%=$qjyHeYog?rFUYb0x% ze`P%x?p-~ku-tOTe&#kY$x`jm-d;+^UHCI)V2pTJR7Ta~+s2|`-IYp{hNP+3`TD$1 zm3xED-wOFfK9y1Wz$4@#goW$rirC=zA}X!X4`h_PS@0S&Vg~eiYYf)cUAB z>Ha5kQJbn4aLBnECg1hWwoJ0fU2TuStknp$=Mhf6(d8nj#`zvFn?LAXM%=mAN?EFV z@<zcK;e7%gx*tXE|F`f&58CobloDG3{^zzn!D2 zT<2pv4R$!s5)Svl%ki1ur;i^{1{;m~OLKO6jM#(@Gk2RxQ22DDWO!?yyVU0NOc)jw zrSL=Jxi5*mp0*!+Bazi$V%m>2&z7TNIZYyWaGwoK@ig&I(mFcW(B`MrU=OyQ{orAh zmNv}LGhSHhWB!E5a@qx(FhS4t>WX`L%}A=VA+hicPZA=p20E22Wq6bU|AwaRbx@2- z!{3Y_RbPKc6tmSkRITRO?Cfe)gYmI3f`IK7FIpM`^)6GzdgtvMqd!C#q#0ZfA0V6* zV92@cK%t5Rm$++ZHp*Jo?KD^qJnfZj$c5N+p;B(dn6bFHIGojNXKvoO30obYOQqvj z{Bm-rX;tz&b-eD{#$c-WTsFGl7ju0i>u$Lf6OourQNAAsuxpgPy({eF(>J({&Ptb} zU}W#b&J6=4kVMXl5kgnDDSoDo7h6mDeBX^ff=sb5E=h!0efhq-zAawpJO6aTI)`wa z#^~gXy-_@MfQ98OvIz^h6W+b90O`oS)9OV;LYbIg5lh_Y`p!Qq z1Gk<}n@$vK)96fa7~9|2^1UXG9O}gOzPI3g-kb|V)@57TSW(EhpB2qaojtPyjdox+ zoSZYiB8^i#pfrkE#h!N%L`>q||DD(qov%v59e42GQ`MV!aY=`GAFQGSV`{2l3|o-a zh{vk2sL&iuN_{q5cLlp(Llo6d%o_^o$LPl4Af>YUh5j;S0Ak|7jMb8OQ-FNBi_ zWTg}09~^vMBo^G{UF@yM0UTs^4zH)#*EV0%K6+{)MZYB$g65X)6dqbpe*EIEJGyO3 z+T!Z!*T_i4WJk(Ke+v68KZ!wcIQAWgZ$8gn zy4m%fW%}Lhz1gy{VTn1t`-$~5%llrW4C$tDIq@X@OK9M9(OsyN*_V5W$Jw}A`h3JF zlef@3Px-~t9H&{@(CpSc&6K%Hb|p6R1gq(IZ=^~=-EkcO;yORKoE$HNZ>1xu%X@cW zBpg>}_Ud@2EH>bZEBe3i|E2=#56NJjJ5AZ@^S-)cVTkA6)IJ{&-M)4`G+}4DcTnd4 zw-&%+*WwfK3fvT9HhnrH^)k6eU#N8v3pP&w`sl_BG8?yVU8)bQ~8tiN#?(LRey3B;oLn64DJm+0?!)~Z^lm&)xrZebB7eF! z6El=9&T7#4EHN=LKg*pi;QvZlZ5(~V=J^l5!Vyz$4eJZDsL=8vPpf-t6~qk(h|2LgkVyPXmjpf)}>isvT`a7gc`mdc4w| zi#!yi-u?B+G;VPjjz6!N7k>NIno+gyen+X-g6TR~xyjJVeCfdBm$JdW7Af~&xcfCS z!!U>8y)4OIKth7$^LR;ApFmG1@am<*X9Vq+CR#m>)?W1K?L<}T=OfF3x8 z+3GR4>Po@IHK|mjUC(Eq9WDB?f&35-?w>-+=V^~Kva%$}a3Wk!rT(a3D=G?#%qCOz zc-|@w_Bd&asZ!CT?AbTu#Q!OGLrS+*M>YkV|E&eHzC`=KO;`gT|E~qB8q%LSM4EyB z9W(q&4fgVk?8@j@WE84?c7cR1@nN=f8Y3f4iNAFsW^49fdxRjAU0I3mu#ZOE~*pnt2C`nKKOn8=PrqXhyplUu15S8@Wb+Lv$(4h>8 zNVn~mBoLfww2wNOWbDs{tAu8itF0(Z7n{84H7bLEH$_X{hlhuQ<@wlDvQeLs|Nrt! z9dJSWQIHrp&j}&fK2>vb^X_alHXa_{_4%I0`c0$f9nXU24FjNP`A!E#*3x?GU@c7p z@5sqzp6Zq8cVNH)j19P_JAT(7?fY$1QUlX2!INAG8wXad8XxhsTIXb$1P%&*exf8< zXC2KdN}2dip43lKP-u_remU(C0Bo>*U?B9%moHen`(z^iZ(WZKz*4Oo`E=lqzq>pT z63^ApPXUUM@&31m;r}VBl=Q~=`beFK8i*vl=PzFPB_+-A6HfAf7^q95o}8L`k+U{( z=RSv`h>_V0{07-19{BB0V(=_!|E(5d--Og)Nsp~VV)cs$<{s0VH6y26=e|;_n=SLp zV9kJq&P;kihk3KwTtX3sotE^-z`BRd&JO|)xAwqukpjd6G78G)^WCZ6ZEb4921Z85 zJ4KDhKx}{u(IY=akhEQvo_JoZ;hjP}lKB)B6fW;?4#1YTL_7}Qp-ON7fLmXeNQjPZ z8_tvhd$E};H1H4bouC1vm>U@xxvjgZ__MzL)Gu3dxVaj~9!?p(?xn+})^fA4fO@wJ zb%upfL(~HGisjKee9XVg`Hd3g? zdwp>*;PV7Efd4X003E~n3;P37qbD3)c2i{v8B5Cesm6xdg?L|)m#Iot&Hh0}@xJ|~ z<)g$aRM~x>%oV-6nDM(prX-~iou__xbYpBilr0S}!opQfPgo3^k1UH#8R=6pl4qs| zmL@qI=lUXwT0^diSIIvK;D=avYp|oyN>2}iO~t?+&~F$-ho`6Svqzpkd)9QiHPY4D z+3B1h6~lORK4Yy|VWwQJ&QM`CwtRQ7Kt)TN*J*kN;b%4OfAjY3vjUaC&`?Yu_d7M* ziAP36ycG20bKD*k${vxgwgXe5$cGOfN``UU{ZR414w>iY=a-k4hh0=Dv&UC7o7H=> z)g!|L7Y|dlCzmhxAG}wJ`0YA9p1xkjSZ+ADp&e7$@;1v=p}8JYkgV9&xT{n?O)YQC zOUqN=ZukM)#~PIpofE?9qFn9YzrBy$r8M{5UC&v$bLWH3#SQfKyPvZrcnoaB^Sg1F znwqM3c%6)Jau-b)>1m0$)~^fIk8gzfJC2M^xZ$c<$3QjNCcy5g1;-Co9=WI|_C4lT zTD49L1i}6<=u{3<9&VAGot@p?-CuH8d@A%pMI|RO8_V+(OD`F1x!9YTFslXb%v~p8 zuGSez7syPM}n|L7_E>w*2PQeUu;I24n_03twNj2=Kj?WEgXMX$r9*bvr zt^$@d6DJl{q?*$z786^q)qchDBn4bv44rHyRx(EY16b3!63qEQN@``wI3-iF+75t9 z&;tQrp(aCVerurzyHjOgM$KQkBjUS}asqn5&7JPgB^+bG0KdRi@9M^*_~_FpGy0gJqmeZEbD)cRa5* zFn>VKw&%`}p!`>1s`~9gWE2#BJuyrtZFo9|!%|E`#d;z=5a1cX;Pifff1W7d5f5sC zfERRj02Ukd#kYYS?B446thg3GEllQ{E_LiYT zw}Xpe=A0?w{(Iyb)f^eM9Y??Pgi+GUKB@67%tAy=L3WwXXo*wk$jpO=Pq|nc4Aik+ z&7n23lX2lB1`6#`aMe7=vU<0JXP+VC9lRh6q5WEkh{yT;7MsQHhxML>IW#fR;);(> zB|rAy2muWd0l1r`%oy!7;Ff_=1pObtHK$y~>{wpsLgi~9+6RBx>MJNHyaY1I&!0bk z|Ni~f?c8Fz(o(9*YHnB7oQ(iP4zL_r#2-y>wKH6^9unOZNmT|QGuZU7ajmt9SIE8V5y-LY^8##fZuhz&eh&(zOL)?XyxeSWTp0?ft-x2`P@H* zXhWqyon1XjR1`c+Hno$aiSkhM z)~g8P<=Za+R?d4p+|_2$^$zsSAM?6j+TY6n|eaR=rjx6TYaJn_KO_z0lF6&dx{XBclW#kzsa z6Ai!x4IZOrF$C;+%h7{!%{+0!X;`>n-QAl1P?sdR6^v)&Pgwqzg!XIi;Io}^{ zFI8_@dpi)l?P=X+$aG^Kx#yNiNz>heIl6{C6q3m{u zSDQoWFWyzV9HosNV-WFB69kKKd*1#UJ1#G0gB_d8O+P`!rT$WCvm^|2K*D(S5pJ!6 z#H*ZMNIHMoG=rsOm4JXJnMMwYOJakMK_=qvOc#3sO$hL>+s^D3bMDiXPKMJ{t^v< z&mJdv`Ki{O?K22)b6`)*@d6Ewn?4#ozE=Q@5wM#XOl3Fgk^*^-goFfxm~V5?lju2i zdSyDJ*7ZI))>I^>-&&J50vu@5rP9;a_sD)d&ck_j)HCg9g7hxLsPJkpSAibp)7Cb3 z?l^5ZbNYht3rB~WidpKt*IvH=&k{z`#ew#=h)o?39ww`+XS4eKd)B1pD z0@N$mFusRHM@Q%SY{xiqJlUSEu6F5MC*g?)I`R#-f+rH%OWm`Jd^r+FliM_EV?Pfo zIDn5rH%dxM6h3@?)*{4{gdr+#aC-LWMo6nSjx=RAtIN^X{c1-OO`=M%i!FX|r~GTw zX&R(@IkE0#&u}B-2uxlSN>csk-OP68k+ZYyW_=(0Y7+d_T)s{tcyh${d{-?&=-%#J zYs{=7h?qYf;NwT5igNO0MlzsjWgsp?j$(Gmm=hk8_8S_SAKA$e+KG$asc(JBck3N@ zh;Mt%1#oar-o0;VXi(_^z}Hmm;At=}fgr*Sw0SwSsWG32#eQo0BTEWGa{|&=79?bD zosDtS_SWlBn-hhES<1C^^R+1i8#APrR;lA7t6^nywh{2N9u`O?$A?vO+5Dyq8_Vk| zi@pYopNhXQHC(=)D0yKA?Lx(4gj+RzZ|F8m%$Da+vzQ)~i0K_rwuFqNl zF3e#$Jy>q4nCy9N8qaBMb%I1yWV&Yy;2f=Lp#>|Wq*c1mjJ=g#Tex}I+rpnMN-rnc zd=GuQ=8rWh^Uq|Q?5k@XwuVK#tT?=M*a3ZI6UL1(K^Nd7n;qFy_txwC+NJNA-3m&b zGc%OmOK0OSGvO9H6A@NV2xW@UR|B|Biu*A#0FfI2v&(ilTHbWv2_fQz?oj7x)j0e# z9m#tC{=LoVraX9b1fZ%fc^s&j>Q5v3Lc@mA#W(I-hg(~h?xyKT-&tnb>`hlZ>iIUy z*Qw8}WcAokc#L3?aAT=O$Ba~?3Uze<;|J^bnFE_(BGZ$_13|q7ENXf9c>b6dshgzN zKGQ`>-?(sN1-%6BZZ5I`(gkj6H#NOGh48yw>>C2)L=<;ZDObVopz%Rq!f}0^!U$~5 z{evo57m#AR(-nb$5(AIKfqjAjwem{VeBlC?^|61?8_1ED1Xv*@Rk!m6ngZWB>0ecI z*oVw~oNfGt^9*=mryFHysS`UxKmy0#EP%_%%&;E|GstBSv{No`sPb3S541 zo_Fn7=c%N!Onx-m9nI~q`HV8ME00j6KkNRAyQ<~$K!xc6d&Zcr!r;YZCgte{7B0T)3><_0ZfwdkeLmA|| z8)5D8GrZ5%CnpW|uLQEsDXf*Jct}ra*QF<>4Mzp1Cq{Yu^v=4M^PF$R(;6EE(Fxc{ z`S@ljbJ*gfRqlQ}@FdAJ?v0KrK^e8o$`*ox&>|uWHtKAhoZ2TQVtRX}VZ8Ui2!SV% zD5Rj1^Ti*e%Hp8_aPYh~j;sanaU;Gx+5PQAT?&xsOM6Y&N`Wa+OYEDFKo~aH$j=!} z!2YOMdcmj?a%Kicz-F>Ictsc-77ppS+Wr}f6dSaSd7XAVAaushP=uNLfTZGd8YoqO zKY;(nAggu3&AwVq`N?qPQg`kvLuNH1Apt>ChGu!YQp13slF_tlyhXhpy!Q8Sva+&9 zfR5rYm5Qbn1=1yWR8eLSEU?YGETytMn6IyP+`$DXS-I;#R1^-3@ddz;IP`@9T7&iS zT}wy`{>0f^p&^M z%y%IEbQvg^cORVTQ`6H++tG$wDGsfel6jaiWm{g!y6PiVyw~4*@W9V9!$_iXkFI~BvJ;&G|`UtW%eDih#0R-;;;$;C;-pBm*{s4XUPy^VPmV+Ln``k zXy9yZZ2{^BJPw{`SXe&5fQW~@S_&1s2PM4mH;(UrU{Sa%|Dc)#r2Wo#L0O%(?D?w5yLWJB+hZ#i3tr-Yj4d^g zsI;1c3xLfVkY=6pSGVPPT0hKL`^i>GL42FI&imp3;WW?Mi$ zF`w!mG9TgFxPcWl#1}y=K|(rWR$-=V<@x%!V{Yt+>soK>Os@6BlzHAkjCy0e0|QZ;o16bRt8?NvQ>G&x4BTljAt#IVJRgt}KeGnp^IyRo zE`1|maokpdGU+?p=dL(taN{-Vx$ z4Uqq%l~BP_fRn2fYD(lPWV+m)O`MDs%~!lsvV@-?U)q*<8`m^~Nx+9brv53r-U;`d zsc}X8Fl8HI^lp`k+WL}BlN;gNL@vB|8{*($?yPTUUCy*p0XturY7*yEA5tD0d=XZ$ z?vOY4>F$mE3xajwcx{ZNTwb&q%sBX3wjZ^Q^Hg2XK*At;~oSfHNqAh8Up5 zbF}Mu(#1o8XyAaB1Jn>)1_Xws%;o6w@W@Cm@G4kC4wf1~ynt8+xmvy31!w^YmfiF5 z@qt_j9v&W?CL9w6+5-i}llGQ85cDw?-+_?bcMQ_UhsggeuzC9blK<(4QjT)~AWyKP4kJl#q~cl}(5lZzKrz2l&ritz0#= z3#F)Dd!^!RLo^BjdOd+km^95};AMaz1CunC%Qg+oh#Iu$Rdjdf1BSP~r)Q^-p$+(- zNxU)>HiEe9I%@W~Iw*{}O1|{?rdsR;&Bg&4zTyYaKfqAq`?t<|M6q6pqKSoyqWWhF z{V1VDMMassP|z7Yol|@x?T{iHUtXFrQ8RHg=1!8Llc=olf^(Pcnu- zhu~mCCK*%l8G<+Z?{I2Fv`3_-N5HRvy8Ow_`zb*l#x7g)oeNg zbMy8?ySzpH#ysVg)QphoZ~wmS^+UOO0nc@fLEGFOkF#$PCo$4u1+MZN>VMA&$m<4) zrL+C7wZlC_^>`EzFuliKpFVvGCmuYtq`GqNdk&{kKlbAY_ON`p=0Y2FXkhk9gdm#9 zD*9gRGm4IdK>s!N#P`N%pQ>+ka$liF4jTlIA+_*f@unGf6NJ?+4DeKV{LfdCvwnS} z6EFHbbOsBCD=#GeT~t&-$uRQ1jXBUFgznUr0=hx+jeT(pS2^SK-(4u1@0nLMY1Gi6 ziN0o+{&##;hN6Z|xBRm~a*s%l&G5@;cXbm;zCARnBTn7s06;0ndrRP zk<&JunUVY0UHh^SLR5Cmmflk?V~}BZEP81xurn2gtk&F^P>VXEV}kZYEd2|IIU7V2 z-rm{G^8D!;i+cUPrK`7ZBP+lNPbA~5jq9EO!(%oH`kdjckyIZ=uJ1^bc-Iw^!@jc)7 z-!T|N1nxO^pA~cNz1CbYnVt3I!P{!#rS63F{^3RE#YD!Pi5_AQh+j=81&)&j&!?Z~0<(Z^m{Uh~7%vQiDnR(NIpPb`!H za8Lj{S4cYP>yxs3pU!!mK)h=ttLp;8^^~2nkUhu+US$<*HXQ`7O*VwG%w~VcwxVQ4 zkW{pDNmOWiI5!eG6*iF$BAw$_yS|M@l)?Sa_SyR)3@?ov?~51M-#)lijWGl}h7pVt z)!JfotrH~-jM9=+rS2_)THSdw>*t0IE67PP zEbI$fT+~e#9pcFa7>J`k!%6iI_(ZHRAyUuv4Th>)IgBiBW_i3P5&V1R=}8|eW}Ivt z-lO}*V-e>Uum2DBT|-Ucryhq6N#Cs6dDZHjz_)sdrE_h4YIR??QM?x}|JwJy@@IL3 z?XBCq(u2N`tpta8`-1*$URzD0pF_zW?uFY!d&*a}zjgg-a4|^EWAU1N_G9M>o>$%q z0!d>JwUc@eK1$~EBH!AJAu|Psa-1%3Rfi4<%gxhxJNA;3#2Fb_7M0KSX0lePX0U`O zaWl8&xVw#ES#Ly?lF(zy5SVa>n;)E6e!ZOfTkp&!mMxooGqK@nW$^a?Ez%mC-W}Hz zed+V!%3KjG4>FYoOe{qMFHz^yPh%n|MuifY_B(N&l9RbMVUvZg`7Swjw)TK4c1#Kp zh#d@czycZ)^(!7!^ju>{^N}OHTu0cq$DR7bf2@=G{tZ*hPs4k@_vn5qGa4h!G=}D} zcVXRRP?g~SNznSY>M`L$ z;TGm<{?qq)@kJneEZ4ii^ZfsxN2_hHspXUZ82I1O^LKKtAAcylF%zz+s{OnF%!{W` zK@^}vGp_14|2y*j(xuCg%e+3C{68Hb6_rBF@SY5b08-EYO{K8~WgTpKp8Y3Gw20iF zDS1u2)*DHQLd26$s@In`woR^BgkRir&jFzB$o_xTaQ%_|1=IP{M^cbtvu~v>_onDo zDov4_yF-a{<#Jy|)2M@|mrUk!F~5Gj==t#P`#Uyo4UE({I_l}`kJdR@1PKy%g%G5F z@_80zcUXUl7EP-eCHCsS_fI1?KDA39G2GU=XY=>>gop4okVu)lELTP#BJkRZ*kclo zJ-VaV!a)m;;vZN{X_47#B0%eyIyn8zg|hHOTp`B@kJc}`vgJlidl`@7Xu*BAJpJMO zZcj+^*v3FSctD`j8C3GD8y-}EQL8D1mR?;s3WnedOG&*@DU1T>-_f)|a%gDiw@7n< z4gr}N0E#^s!r@P!Jp&k*H}-&vy?_56Z1v8O&&LF}Qs=6z5;*LBT%T^vnw~B`+()ORyahEW08|pg zp!ZBLJv37^S|tQnhl=ZHz{} zHp1WkX_iD{FXv%BLbFM6gKvI5rOoEx`hL}7miyg}!mOi~!s`1c>4XZf^A=wtr2tyTy=6n+X?iueh$X>zl#dU$IaQ z7diE(`EdLPFLn@!SigtxPa7eq@gv+`zTj#=o1yaK!Gn6>FNuA!SK*D`+w`?Pvi99+ zJhFaTuSn~n9{18-pV+C7tZAhaK$;2#w=CwW>EZsI|JYbtxBj!StwV=hQ0ZWAA4MtguUlIW8!`c* z#_sIAEA{&3T6KCTKC+)gz?zH50d69x4%TSCx#c|1jJ<*B*R2#&jn2aZ2fa--!P&xl zRK&roF87LD*?X>-J)7qsBB^L%%Y|dw!8|F+SoLOnd>oe5V7dGVfa0%6M3kt}(G+H< zHEV5q^y6hRMU)%tZER#um+kFk;Swdf64-6PV{mtO_j02#Ux0r6DN_KLYR$^uz!H+8 zmJdBql8|yQR((;$ptaAtW21-_Gl9r*?x8;9rK!Msl7RYL&GvVFcwCW-9{DnScG_~E zz>z5%_I`pH4fWXlDLwjHlq#QF75an3#>A_d!m({zrx}aIMzNJ4W_s6sT z#H3cC0|?=N*M5%#pwAv%8SfKdk({6W+}nhu9VXH6p!V@u67=N^%y`f7=X+k&1^p_5 z=4|trps3chT<$~Hu~teK^CLJ7OU*scis8vL`tPLYJUtg?D$SlZ1BB}!zS8yjL|0#b zCMd}~iDf`d=OAaLBk=V0bO@~W2Rq$?o4Q)^MkmaFdH=Vq&b?e^e^p*~;p2-l<$>1h z+b4ZPZO{*Fm`KS4zJ-cVJ5O_^yitcm582}vv2etfp4#Q}hao0MgFJSy(}0}_gV2EK z-LW#`-oWh?VWabFFUBJnujMw2ny9Zg{n0u7)zxpE%?ZH!KYjWX!{x+)MXOP+5*-@a z0?k*XE*>B*e*kVzVcY%oSO{*W!en!pJ|jC@^`-)MeOVvKpD!adNy|C^9dT**Q9g~=yC=P{ zW|-Y_x`5?%NJ@PaZM_ug#exT(@UJ9znn9^5wt7`0SL>ib!aexi+SdN?-^|Ze!uhfh zcv%gX&}rptZ|8QP`CUEXWU;_{^WGjIC>Cpw(9!)uBj6aWwKEarFfcG+F`H>`55Q0^ zH+(skEeYzCfg@GG&iv)e%ky)+{up}Gh5FczK&{oY74=&YZQAS4e^CL~@3642y=T>jLg^!5 z$+BJ2N!K?KrvK7Be=2$JDkn+Y--v!}F>1&Jm~tLJ0DrUA{QpPMr~nkMdh?~l(6#=3X!q9V1yv`1Z!C+js5rD|^>?4e1s#e=NYbCyH)33Qh zoyH<9X-jz&biN-o%+Ts*YxKc^6h2zwD;9R-coQ!6@?WnH-358I`yB@;#dUSO`g6{pk`_0MK#|BuCO(l2Ct&2W#dTCf&R7`EzbmQLAGzvm zvw6~`_q(cG41iF7wa@k3uC#JB7q3Ju; z)o6mpT6g|rF?FnA%w0vl;-Z9OR|pI6Cg3$$nNxmBi0O%3(N84$zhAchNa8y0*l5na za3JNaJ!l+x5K=a|eF~X%thD-KPMTT9dBWkXBA;pPfpl2N6{JW{*63XH(k%b+jGK9d zF|^dUbfL;Z^X6jT#EAe4%dfb&7|J3Z#{{pnKT{Dzz!?SP++R^qf`HwEyUFnI@b*MP zw$EIhP%1Ti)|ig0ybsowc$rhD)Qu~D&V4UITC#o=aq->CF4fG)4oIOpw59V|+lSLb zLd+iU^3YA;*xyT3rqz!W&G|(*s@eF(A&&Wo<3m;=RSX4}I`&IXEbG!o+Ji8T=3ky) z4<#&m+yGL0Ln>waQ-;I0nqz7mbNpz1LQ zPEP;E_avW*H4Ni=XNt5^gL|-W{PUbTml2j+qJyzRs$7T-LX3+uRO#AJO{7TIHeL-*asq)CK;}9(FmA055c7S@yV$$7E-2A7+hbBUF8c?_ zhIcAr7{oJ3vl*?89{Vl0%p9!7Gn-%v3k!c16a*`kJ3|OW{m=-gcDcE^ZP1@GGCJ+# zW|OPeGKG_hzo(`S_IZvK787IWAVnDdXr8sTaL@GZJD@9N!98YUjumrI#NaX(x0T9*=TBsh`yuV;F?st=xQ1ubNpUjx+k!? z^6j!j;T(14sN(aza8M63`A;!_#1vl(qj)<3he0wP;e7^c_WNhW77w8f-!Lqp?C_S{ z?4H>Zke>b5-g@z~6o?8!2j6xhF$&yH66+9$Ee?_-ZC6nHc6X5{zcT7?xcsZm`kLi0 zf#WtvKH>B}{Qa9wRO_D3r9$ti8?NHpckJGn$%P8uK4{F?GYW6&!9c2M8dJQnwKu|8RcSg>U+D33kAxIaJP4N@D&^NI$a@`^9RGJ z0^qY!vl(3OcB|qs>-JY@56FPT^d!iV=evGlx zQiMmh4M$EI?X&ki7jqE+jY@qX$IFfV^omL%g z0&N2vaT%_FBU?+60d#XrvU!Co#7ChIz0<)%Is4o6qB1`OrJPC+63c|IA-V$%j&MBT z6e))YaQki0T05mOBKu`6FB-ov*DEx5JX~`l`)#;5O2xK8$SQ3To#c3&$Wh(`$-~9R z*I31&!tT4M7I_j>WqtQ1cNwpJ*(94SItOtPmj1A8ErZYO>XoyB*F9aZ4z)q<-F;2l z1xxfjZrkQna&_jUFskzRui@*Hc?aieYe-Thi?Ve#C}woea2^=Fs_XjN;_xOQWBf5G zk#bk`z|ESo+A#&PnCV2cf~P!P21(gU>$fvp^~TG880?F^(xqL(GRzn<0$tY1-Ma3jyNztyZ5p6|f$WJZ55 zX@UYkyD5^{ZPU}!jjb7c)p4jyvG0y#@hX#Myi3wp2p z@j?=hFz=R+y@j|Ib*Suc=Xi9Os8TE)*o1>-IwnFHqe-E^jh5|5*Ke`y7CT+ zPr}E^ktgk*OwH!%X6V65(N58FE{*YdYe955_$3{^~Q6YLMIto74pE%mdcw^SPda|i{9@@j5C@1nNxw!8?!Z|0ujW-)zEih?k ze5J!DZP`mg{X_|0&DL4OF>*<;)owzK%S$kQJ$Sfsug3NJ`X*HQSspB^#HA^7uHm0; zSp;LAmY7;e%sPa4 zGnNsQtm7jy$%Pndx?QWwsUdj;Z{EmfT&Fb*0+*6<#AV|)M2CRxqo6q?5t`MB`Cci6 z>no`CJVdK3 ztf{A)TVkHOy4hk75viOv@BNEWys}t@Hh<0AavQv*VP3nu;Gg6$y@PQa`|1kP-i&eh zQ)ni@Q-Augr}R-ShfhoEEqE@rxR|`8#Vlh!TS@KQ&?vR&VyZsnMqr-Z{7_Kl`Qv`L zNrc8{2pR2*KoxYlk4Xg^*Eqh?DkSOxNXY~qO|yLSRpFSmieB=eJ94H&g+mL;Wi}V( zCi=zu9vC$!5o#Q~3Fo*JC9c%;)B=9|QROmr?Z(Q7yZ$_YR?sYpV4-Xk|D~ z1aBF)KW-YFx8&QSGni{EZ49DQC|pp~=T}t;@9q%=E!2@()iv^O9t7GbnAHk>Wz26` zIr%tF_N$OjMCHBsM<%}f5t)3)FKC*anTYE(C?`=^M9hx9g!G%j65_hI3r|>fRig@F zeEWYFE9H;e6*F#d6xxOZ;>xREi<-!^ik0=y*oA?QtLyS8!4jg#5C>oToR%Lg`vn{1 zw5I=@nM$V%q9UT=f;x{|4zg-VURQ)bhsY z38mYl-7YO2nXn|aV^CH%uE@(2e||CSgxliQ*lQOrBPrQ2olP~e+ok1y1)uDjPR?rS zUgS2$tU{m%qi(KoWG*Vk?d_N@tYNET?kt~0Bd{pA8t)@4MYe041U$7u{|oF<=RyzJyZ+sXxeyf*>9tWQyttPY-u`#9o}zcT@xPgJ zo+F0shD>QtL#D4<|83yECipXqQC3Lvp(<%NpI%$f79lrZNVvY5xhBJ;o&40e+amerHxIv7{E6xg9M3HdJzA&Bma*7 zfBW_0EshGOc7@8Dr!v+gkQ%GF=C{zzesOVM5o-g+?8Oz zc+p(7=>ELf|0S{EeC;`cTmQ%iZX=ABOd@$ul{lzk_beiJ`O_M^QMoksHD!h=PfYR` zCa_v4TQd26^5=SXvio})nh8Bh>kBPY0HGLw6tb5@0uJ+b z`f;1c>0q9OfYrk(t(DwyzAF|(=LrOj`~0rZsHje`0jSCS?&##i+4Qu9u+HI7Fnxqh zulIFpYwOlXIubuW|CfvVckkYD9k*kMC32jnb{F@nvIflG_YmVm^f~0c__UTRnEsBD zQ5LnAk&%%^=({6|dZTOX9qe+EabTgr1*}ikjdENoP^}7yXSF!#XB_&fza}jvhLV(& zR9#(tYtjV{i7tgaxQ7sMk`nm?&&w|0K}d-YS5fm*ebY#V2KVlH&b#~4-3 zvGFHk32PazjyHcBgp6aXy5jj8ls%c=~|G%-Jdpw zFfgl8p?mWaU&G)wEFSLfu8+Hj4rBEP6WGB4tzi!6DRt+p8kMFvz+=BXpVW-f103b? zBwGy$>{c5D%TswFJOKd#3SGN~$tRaxoU$b$ z&kcwRO;lJ-svpXoD^T)Q%q#LYf?#oZ5U}+4hhn$ zYznMw6C}i8e`@V1R8!>+U`%G+IHaJisoaqbq6knhdWgNI$|m)-T<*$-uddvomJmlN z;bI8KSmTs``tI?Dk{Wu-*mg$c?aOZr{12Xk5hzmF=R_FW+rPCdqGqd@USBGHmGr}c zaoSM5LgXrzD$EN|cPV$hPmJoe85DzkgmtBJ8K71;lpsc5c@foSHF{rO^xY|9^{4?;L+a;>F>3$~6{$#D^0~wjk{jHN=FmA`JMU!~GLZP)Q z=0Vh^V0tLOH)4tVowJ71`Wr-4!uE>WM-3zrJbD}OCIcCLHmO_Vc5m~ zbE=_d#6Zfr$oe*Jo(Ka_-;qpl3jZVAF+q}nCem%VSPw!IIsTpp-ORH|S?#lot#5@_RW z5&MGkw-$hC%Q4NTmGX|kdcMfi4+cA+nG{D(1jNCPHC7?$lx)2y|<uMDJq|#;g&j*t4fLX z6O)O8Z$Pv^+nXLMtp~yZSa7}G7Y#mKztiQL^IdEdL;&_ly>(Jhy4KoQUkB$j6qr8( zHDy1Ll5)uXnTq`R^J5G$3El2r?{=8aRsw+#3rhNflJ`5~xd?nf2;z1=g98;|@!750 zPdIpgyz#ck)*D`TBFl1JZm%xE3Bq0d9#1J28`08mAno)0`%xDWWDSP>O7eTS^C}$t zey41`Jn#9b`Rh*T`rrpb*qbI&TIm9@94HG17Ex~l7e=rIHM%n^M7#3grz+&Iqs;g@ z+*~j8$=mfjRyZ0GfupBJGAWZMZ6}F4-4-}NQdLtzJtX9cljkZldD3GdCM& z{*c3g3}l!aR$%vgq%Qgf$!(za-pEV0>Y5ti`-N1i)lPg)`=IvE zyBpDfcjEK9Cje1fblUZ4ufE3l4z%x;TAa6;hkBj8a+KL(BLM^gnW;20dE@Hmlf&1%rhrB#6n#$TTiIT<}8j*6R*rCs^Zm^7Xj4Z{cV0 zKG@Z&KC*^8tW_@?y{CX20?2FXOSWv2X6E$`F)2A57x!V~y~t~}-FGR~=jcf(Z_m-L zpya^+<~koJl#)eV^*jf@QP%3+g7c? z8Cts6>hnB;T6N;YuXWFS9y^LkxfRr}4E7384@yR zz?U8sT0a*tD4O&}foIKiDB;H&N<=rw$2IL)i5s0c`Qb5^Li#JP)3=03TShhi)i z&{Eej-zp8}k&NRz)zX+#)+Tix1{7&STk|dMy8;WA>j;@ivd`0|>6a8{=QBNRM8SfR zg00NgF0|iYw9=4<3!60-k&6_0U;6unCp&1k2W?y+kX_ncWZbd7k#Cw8Vuk?8S42q( z8$cpmJv{+IK`5Z+bE#e*0Kz`#F_H;2jvb=Bx0&c&=mRB-Sxm9bX3D>9^v6a}DZgsa zkOcgQ2y$!HsG<#6L@-z{J84HqNO;{#Y*T1&?w!XTX5bTxe&I@ZJ#WDOr0&B1=cMIc z`Heg5!lb7gjx5{70x&4Q_;}Tpa=MzXXkqhf%gK6*6+yqByI_dp5&`S*hU2dTn7%={ zA}CN@LiofAI(I@GG%w(Cdo26#CHdS#TaHS_MeeFO73KcW|~nHeRU8x_EfFCL0&gC#<{hqb!eFQc|k!$yUQ7v&tU-D)TSDtYD-+ z!UDn_denHQh?$lG(+UwV@A&Q7ui_FXLTFW@;HwDo?dF)Rt}1&5&3;_6HI*5_rvJ=1CuM8*<^IP2hL?# zoiG-m{+~#hiwA89P44dQ-+{P4@31HhkVP(34-%)#!>9oO@Q!4O<2Aw#IBhuyz;TQk z4L3>D_-X0s+p|@)^K}lJK=c45F7yZDl%X4!`?JyD$fld!Vn)|1%ld`}aE#LN(a~?C zgS&BA$>ZdQTR%?(q|r*TW!yBqJB1wkMfEw2Mq31vv?!v{dUV{v`U84AzpXr$&DGAzMCg4R92ArRWHYd54ip1k z;C`HzmgWeo=Tw6WEAY@!aG9QJYHETKjje5M)Z(sfZEawo4LD<6waQ!%nkTCu1TYp(!<<4kmG%#FC9#`_!W>nBs@be5BgV%$Hy=ni?vNVdC5vE^HLhNG%bLHO z?_P*xaj3X<=R7?#UpPsO%goVF21|@f4JLlphah1P5{8g+ajE61ROE@9)jVED*Oa39 z%nuGFGaAhZ&}}E~#Mh!xuRUwD(dLx^@>iQdvYQ}~y%rW0!VJ)>LG^+>c}n+(JBOKa zBiW2YGqhfB7!~;udl!)dDF5@%u1u-^0IprqNh>x~{^_x0n1>pdgog7r$s+^=oBcW( zLM}%A{uCfhE)(uR z!zRT8P~0=%UHZ zJNG7@lOZWdUw`n`-Q?Xvm>Bry-~L~hf2$NK6)K47mrc{RsD1wD^^6QG{;1sB-Juw2 za%Y?<(e9!bxp6E#4VK7z@$%2Bh6W1@OI52#!#Z>h$hw=m#Z4Q-sRDT@|NQiwei=^L zv}wF-QM20G4d5$%z=Q5=@kWxzc@Ms<1yI_WJ35|(-v$43BmS>7q|6y&O@Dq4kJo{f zJl0To(c>u_AorBKWfpy2Ah50v?zi(H1tIK25sqhT{ukl$8~kLK%V>gI3#d7qJKl)r zkIaUXiifEwB~ZV^7Zs1q<$?+x9-hf)^n0TlOr}&<7;bcI?E0YYP^rnCTj(bt2{UtK zO3GWn&;$+_8mw$=Y(6rQkoYK<>6ZZZ1t3Rp0BV9L1906eAPh^)>g(&D0C@%+6A(hg z8xkFj1-NNCT0cSZmzel#%!TJ791rg98NltA&k*=0)#M7oQ6@a_jR6PF&f`u zqZ_;H)o-16uty5`nmu;k9?b-?`Y{g$ML@1>cB%co%Bxqe$Yrxo_Gc>6EfyQAYj-Hg z{;XT&@-Ajz2WEuH)lINyO$`4fErf)b1l2=;Z18w0V)06^8)3XQ|HDAu<0bVpYzSHA z$=wBZcFJv6B0ZcO`o)j~A0Yw3K-mzFsEP{ie61ZZ0Ib^EKV#BrhymXbcpAvaypqil zOZ^gv$z(S3nwFLp2)b7*fwW+AqDA9%mTb*oBaCKuq7WR92;|*gF)`iX+>)Rm+h5p~tqoKBVKAZfZ^lK_y^iH4Q-#M!)tS-bryjaqeciB1<7 z)3<<>yu7>|at_ddkS0b32FLBp=&3pfTJRp3m?D7u35vJ80B(M3B>i0PA0rea4R`Lf z$SM!qWSxor46^ ze%M%x)rBKOMen)1e}FAMgoTB*0@x2371fUFaJr04SXemZ5(rASSF1lAU0gV$?6!tI z)4l|r>{l%^Xf?wDp$1-c=oFL^1n?#}LqrEAMC29$AouJ$TFu4;yWI(}*9l;5yGjc= z--wf(cPN0=F9Q7bshYXQ+WOo{8epg)C-7i%BCujMbM^rF1Ep>Fy%9$M8Vy%#yX{q1 z$0-^`m1;1QBv+^+uZjKVW0#OP%QDY#Vbo2edNpCa4E`uxr%eIp&ghQIoqXo)1(P_3%%2gfpVjrmreD@kSNW8?d{M zVisJ~dZz9=fld#et?!KIwt-d3O+d`0p#ghIK`DjV3(!@+wfTM)6fD*0LIWOkZ-H_d zHk;*JAP?KkfMum9L_AzwcYv#LEv{pZ*Q~djvg~@j0Uv1SBZCqpAP`sM`lhDbl76lG zH5kzTTFB!10wVy<5tG&{aQlSHljbsFvx2BntA~lva6uE!@wHX9T}A2jg2QxawOq+ z-h2UWKC!nUYAzxk%Za@Tu=7XYvs@L^7Fw!grS21i$5M z;q;@rcFhHZ?Euq?enY9C`gFaaHg=nds~&Kz41Af7vm)5Llm} znk$o8eYxNQrZr0|t9NhTdH{e=lW|0Cx>S!sKJT^7=3vL{?Ci*{dX>4l(2y%YO=DRt z2*H@g=61sbEBRd z55VBMJ!)eznFs>67AwtE0V04j<(xF2&nPV|U7%hUb-p{P!xHbbSJDM`$0zvu$5C_yH@bP1n}PDF-cy~`@!%H7#G2imV=cQm?1MVGfRM6JyD=60Ay1D z(dz>KbFD4>j&EWyu$O z)-uS-k^AbO$o@FI=leJ8m_3O9e@N0Hq;7^RnsPecUrpTDIPc@TpFiGEW{H4^F*M)W z%BqCK1wl{qpWA#%A$Gwwr(2;ypuG5@E}+l;6_YC(f7_#A*<}-3VrN7~Sz? z{;qK61B)x(xI@1Pi;FuYelwI%)BV81*}TvI$v^q?aY}zHQB~L0uH;>>O)wX;eP<$c~e1X**A@8F@)aIM@-0Wo2jAkhyCI-~|wfc|>cv#{#PfHt$4G z$by72l2UP^!{PbPLqF-GS-7E8D!BTfDyF%JO^t2H(Cn(UUKau2EjGROcUeBPrR8P*Op(Zhs6aOk1 z?EyH^aW$AVMa|5#WN0^-&~5d8(tF1p-0+zfODH{4l|iEVY_1G zs()lW=v~>wr>k~hHmK$iif6VCjX@BHcm>QZe~OBDvAj6Dkz>Idf9k$LP+53b@)5E* zQToM$_-z%^Zw-w~A$DDTjlr5>z|0=|Ql*J^Ey818jVe46z+~452-u$Pt&E{|z3qW- z#Vg7%9w6a5-6LID87no54*j+qNQ*uK{9QzGeay^qpVR(1!G{mJi!AKy;Q`@k)y3Dw zUir75<`F3!^Bx56XJQ(>Zn!F2wy}$uv$<&3LG$oeqoi~2>6_oUcv}x-sOd*%1%2kM z%)K|izb!sN>maj|tO=W*IOGjS;VUfVar!t(SD=M1RiJ?Hw3Oh5N!&HW!@P?=m>^#A zM3-!E#9-!d&#?jH%iPJN04u-%k{nl%!LvXBP}$G#FFNm1dwF?bGwP$jF7|asGlXLX z^f9TF;5_p4DS?pTdbRAA!0m#`%gftkz-qD3Kaws4Dovi)733? z315xAmM{`2i5fUnT90^SLaOM~O~gBR$Se&~2w5v*Qwx!LN_S@8yMsrzDu_MGgjnte zT>Vq1kObdD70t(gC6;W+2giNvS4cSrHa3l_qEQLD(8FV{i86c=k!tp+2Lo4X z8QB4R_PADmR)^zO##AOVnck9xF-Di4H!k6q7}!$ZqcwBdmx(D{Io9d)%OWW>Cmc+5 zSX7-hrp2k$F}hY8dg)UjOxf zZ;Fe@nxr>h%Z5AdP?W+yB%jqqydJ<4*IIpfseW32DpT|)fDayL6beA!BqYna>mAKk zm`u(#cGc_uLdUyETv^Ioa#;;!(|#qB^Kwl9%13n3MFRgqp%XLL@r{+vq>?JPn8urq z2+hk4rJ}mP=VYYkkF-Wl5=$X9zTBaz*C*@6b^BgVo`d3eO%Hdp0)A)}^TUoi6hB^5v;wTh@wfvE zAlDK}L;EWofuL-cCjt_K`5ar90dN()(Xp{px57dWC-%3H2lwhp^cC9H4M#Tj`<>+c zb)@17FAA8}Jx_Iv{w}ozuAwULH&~{}oX6x&i<>7M>}`LLm-jK94lkEFY94IH>qMYZ zG*R5jaFb@jG%2PIj&G1{+gZvDzM5Hr(g)`@`k z)-qwCK>+TnC}WvphtYfI=uK$ow-B>rx2#v&>|6`Kt#ly3!rrOyJ8AU&;TkoV;oKYm z068q4!E>)e+JGXMA!qHiT>AT{Vl%iPBo|hoQZKs9Ot>lS%Sf4HFRAt;ENTVM7y>(5 z`(qiw`RHJo!;FJNVCRaNzjvv6K5d7{YIW3%e%9$H(KDo12@?*G2+# zbTgj%;NZGwGE6z^lq^dC*+CWVR!PtCd?6olkQpac#CGcyv#&+l=M6pa4$+6d zwE)qNy6TojL@LcRb5S!zrlKBfjod0kYsP_(i5Gg*iFjpQe0qX6P*dq}xX5+ds-Uv4 zIi#pL(bcxv*+iz!5ow2u3$ZYpy*xhK4h+$I4&m^0uu_a;q5k6P8n^o9wHykB$YG+e ziR()T6#Ct-E@JO7ts2kb7Q! zSH0-K5gQn*kCyQDF#-!gAX%H~vhJ-D9ZKHg*BbU)e1~apj?QWa(vr08Lb*>65jh%Y z6$-H7HitA12AN~U!2Y-roi6K}Gowe39)a4pY)&U1+-}Z#E*l%_>)})_&d>3=onK>N zVTnZBALvml4zi$ek&=>XZf>lsw2tS>I^7<3Q7D&w0Qar{#tNR?cLw8a!sZC6kj8G! z8YXq_zn8?PVx8r>IQt(uIqKtRh1zdh``10)5Zy*O=wX1hHczxQenbw@ z+`%b!&PBSFdZotHb}ZTktxEDid7i*+0n>`a!*9HA``OjgU4C@H$!sCQhbC1UVdK@B z7A+W`k)ej>dbuyTe0Ul=j-r{QgJWf7q&zdFwNl6IWYmskJgzR`&CxigIvYPx*eBJb z(c?;Fz#mEZ2b?yh%;_>rmlhi&Ub@yHEwSg~FQJlpZ&iP=C*<{mYNyH%SQpILCFFz$ zXqCK@tNq-#X|w6)dHi!CAW-yRu)^i?0BmLgU_ASVR$X=VaHAW{^>8++o0^o=Hzg%y zcTyhh^kknk%vvRS)@FAs8{KTSQV&=&usCdcESvFL>tj;!xc1-Q+D`1u32Bbn5Psi$ zDBysHbhIQfR!&|DEoZa*8Vj!!W8JpSk!!`Y?ILX}di+}@Wm)}b6WN~wNvWl&9cqEL zrl3}D<`0Q&)@I$0W2#vzdX*=4q}y7@&YShSI{H-Y++4kHq+Z$RUWsTZOB}iXVfh1* zn|lnakeuF<%{63CfJ=x$h4j-m;|c z;0^8dDingxd1I@i?l;I^c^*b`Q&w zpOl0reD&&+zP^6t-u6XT*0f9iY2V^vvJj!ucXZy{UqBii&Je}``#iHph@H@APz?zl zukN<(_${4^3h(?RZB8~g(a^|!zhq4@F=y3*@Yr5Wh_jWB3BrD`x5(Ymh^%Ew-4l0Q?Z3_QlMucM?uiaok%;btG|h z-Xb!rQ$(!jtQ+P5h$;H9eX+%1wEC7b%)vIfMr!@_3Dp$z%=0C4t{r9b4P_tfVW*aJ z1m|sB@85d?h=L9XZY!&++w*mosF9NZ*Z^pJKfqQ4LPG5Sbmj(Nkl`QhxwS0SaGU}g!5%nv7heoU#6u?Enw~3%zE8?iS|1A9sg^skl&5h z`5dM3z`lc4Px)tXgQaXy#~^_>TXaOr8IE6BVVxuW*!D}~?QQ+A@I)e=t>xuU+cJb1 z21+GL1=scV&$871&{hX}6a;W<|H2OTLd(U%af0tw0%wp=q0_J9vkkyc#djXBYBM}V zKQ?INQ9UW%(W4n6gP7hNnsQijsN$S=(%9ZM9QhzUMQ=>lD){EpXOom1a}!?}IPBp- zSk#9R{M?>x7s$L*wRV(nNa%!*wc319t7~T-rHMp-)a#QUu4XgI#qoMQI#;RWJ(*;ZZf^ty3LZ;PcC!0S$>GtFB{-)Uh>xH| zLcT&Fs915fKg+tfX$R1NPXYp9@XJ-NW6{vixCN3Rhy(b&5!aoc-bTs{{671=Z2j>E&{BEcaRfUTJeps-h-8dR% zG1q`+BKpeux-)dYH}doYdCF5wSG&heVFwWuI`LeKIibAf=2={am&<;K+C8JP^*k&; zy1Q+djMx0WHQ(R$P$@ZvIV=|OPx_fDPp__y8P1$2*4mN_1k+jkaH&1n>@2%2r;5tH zL0k>ftG-=s+nlcHV}a+r$=RQ_jb|letIU0|B3!7#<3ywQhdZnA*YxPV@6sH*NZoT7 zy*>F&#qV(ULX~cw?aW$AqoO~U#3|n?nl{{-W$9sJe{(DL0}v&CTMM+M*z8VfLiB*u zm*@lMUV~rF7cs?n$h`sr0!HIGFY#DRwU(MaL9Td2zvyz<@cGLZP?fLo_C!=7fsG%m z>4fIJxm<)a>2NwYI7HEE4#v>y#Be&$5V@Vb1Zz`a2X)s;m;cAudw_HOh5y4JsYpVy zcN9WqWp70iva?4iTSoRMD+!gIU7^Uz-j&RhO7`A+@BP0|^!@#R*Y!Nl^|;hkeBR@n zbKkG~^*ZN1_c=8%J^k&;X(lb;0_e;=QPKFR){N!FI{JGV-$e9qDu2FVvlKX$rph3S zEz*-*C|+(yxG|D9B~R{`*!9^>*zo&_;^zeCpGu_}Iw$+jQjR{n?K9^ZHAmgbXp?r2`FM9n$v z4}~snn`>M$`2I0?#Cfg(FC^(d>}e9SX_KSFgN|{N#F{ zrY$o<7WwK`x_mv8TbtKkYR32W?b{Joov_KRH&Umn4Ld*HjaDl-n2TZbYqq??&U!d` zvYE#E@1GZD414Z;toWdj!L(iaZ!JwEsOE92d4Xt}u4Ku->6u*ZOiizIub#+hG@j%9 zy9Q@Z=`U$&nrfwpHi(-auKm3wicw(JQO+8i{`cT--1tCbyu7^N87+-i*vCmWute`MN%k07k!&W*L>@+-^-cT$O- zc~I=ycrb4yv-c>er?r(dZ1>UV;geJZ@T(b^n6NdsV|9#h%d80w-?{41o3tL|-200E zdg<)PP;LHBzRJLVZ_L}t0w7KKt}`x1Olz(j0H1Br7*~5lCQD8okC6N%2eecd4Znw1=nsx|?&p<8y z&d}r%5fNEZn*;boORS)`n^yNQpy*Li&QS5aV*jCjso6+%d3n5Vkrz#-+tB-)w`biP z{}KPd$w{-iM`AnTqD~}eaq+qN1{@dWseE8TVHBU*~fUSl_`Pwuz zG@uwtb=h3G)WIyx5#EMNee18@47NEC{Wv)p{ZJ8 zcNa}1OF-O}2gos>|71=2UgQv7~c0Dl)Pb;*PD8)4jQ#l6>>lMzihR?RC&Y@wx?* zt3PrXx)&5JSpE(`&+(BPQJe*<;p6Qn)w;XTDn9ZyN2L3)hwVdygJ}AScK${rM?(-- zrJRh+QB3R=E90Kx2j;ChA9`nw6Vg2cfy}O%d%Fj zFJD^6*x|k2<fSfA^SxniYVm{hKkB41+NG97OsSvVNqrTBL!+l>pfxmaAwVnVM5 z1qLSHjJg(c6Tom0EW`n#rq$JN!TRy2`b|NQJ7Q_~|0F<@6nGs@jjj2A+cX;A_NjH{BVDYH(Y zWwJ?K2!}ys+_hjT5Q=dbktX8J``cCfZ?p@{eSLkoJ+>SwH-=88Yh*r6Or!@XUt^s6 z96I@Dvh)dD+)s6N0ReQbPke9)_lC)3Bn!IRGIcg*i~1?VJ@2jRMkgit96xo$aIU_9%)UhSE_oX8q{O?^BEq^sMye}%NEykb!jl{8XuBwy}3ps=Dtxn&hQsi zGk9VwUE1|#Z8*qoB%HimU``4xd{ABmF>i5k@hlq~US4OD-$`CKTm5p`_5}X0Cpg0;B5Vk(_!{`H8@D&>($!gdKCqjM$<* zD+T1t&gOXH(W6Iyez?t7>Ns6HU$y@Oq%}H0=x>!^i0bGF08}AcEn9y#eYB&w1xUQh z@>s5UD;rpr0(isb(l@TaprB!h!D+IgbTi#Wp(r2X@5)s6$Xl8yx^)*rDpj;DKkQLtts{>r78qz3) zA98@NqQq!alT6HGOLy5ln*+JezVmkHZ4NS&_l9Z^{d$9Q;lc&Qc1tZSt*ow#)`P`o;`c^Pr7|~`aN&R$>Am>B%u8az>bK> z$gU|U;M2P=U>SJrUe?HnXcpg(GyVRG$8qXUMkK1|g+Vo1534n!YHZNELzUZe*nbam zK6@5r9K3w>N?uKk1m*hz)r}K!Ojo9^;_kjECPrstGjE}9AilRTtls@u-%F4-C_8&z zeflF93E^?tKKRvum7vp+qV)bmVXGNtVzJTk7g~*sHV^Jv(k2!Hheh=pPs{Yp-w$A7xYRm zJ$m#AgY*K}p>-8gyXtc*=agxWX87zi1hPPF=PT9|h=mdHtGD_lrrmodQCI(`6DEs< zi0IR2ADnpq@3OM8{VTgij~%;}rbzoTEQ~fA6+Sj?qBwHoh=BV>P7BZ1uU`iyCj$cl zaG1jyPT$eZh%0{r$PDoUD0VL3J*u%(<+=MLG_>mcd{58)vex&iIMv*CG<~}bEQv(4 zv>x9d=JYq!PoieQsNVzMKsA=2Z@8f&b>rtVJ3QC=1^{LSkJy!cfYx-cxZ-_0wY=m} z(C-}0Z$pQ?5=OLWWc?aqA?Nskh+XWY?&*=SDOvp~P55A@gQw4H-$O-3r2`N(jQM8i zbO7Do+ngTEe)_ZT;>{-4Z)|8iD8J2JSBafY8|*D2WVYgjSyEsbJw2=)R)+gqlI_FZ~C61x4)J2c60HMYeic*k5*={iVC}} zae$#dqY->b$!9t+K3)efJioC%t^E(abN55OYbupg)Ul@}WPg~R86C^l^TQ*J7InLV zTp7Od0S@bARN94)Z`1l`%(9$2=PPJG#_hUtAGvaobuYygO9}|5DN=rTNMOEKO;Z7e zg1Q7akIQU9dt76MzM$ruc-mGjVID2FA%>JqEeQrCob}dYwA=_VL|*@<-a6u;8-S_H zYO5w%%lQ2H^HCfeJ_wFuO)=6C$Fly0x9Qfq+iSBf`@8EXvAM!^b!ez22$>le|5I`< zMTmny_ln2FvN*;ytg6_nPP&-2us7#&cP})07)-le0mOtC|DI!1y|A!g2q?p$o&O|; z@7~xH&0i*JUGSGr|Knc!OckSR*wAA9y}i9-V&a!LISItYt7vSbzSh(X&d$zKn8)_p z*|A@^5Evd#va`GUz}~*>B3Dv*VQh`@S!U+rgoK1BRTKaB(r*Hn%o}-~Gxvo-;B)Gi z%b__Ym*4yTYu~aTn^!;HO884ud(!c%4I5sb2O@JljCu1veeqh)k0#eG%3b;&(hTAT#LhXJ|5Vl;3jhCv1YS(5dCi?G zvFd03{hIc9tU~cC1!nzdkGQ9Plttl=$YqgiJszpg{j4 z`Yip840&Tn{-gV6{x{vvNKYD=?aY&nKsIfM^G+l4mFG06tw-bRH}is*&!2w+AE~de zSN6kLTU&2zZK3Q){Aye6d-Roa=^v*3m_$T$53Z#SdiLy(O@&mtQi~npLXItL?G6b^Cv!NP##@0J#O z+8woYwG##g2I>htWC)m8_lu5=SalbUHl!uIy%(CWx#bSQ0)jbU%1o;JAavumSewe2 z;Zn2_6{xbBrUe$Nh~8afa}UVJ-+a{0Lfa0v*Q1q3L+tY*Q;y+#_Bp_&u(3a45 zU%Uzi{q89d5?w|G+GhQgq5$M~AzT3c>dl?2Sno3#`Wm>iyWTId)?reN1=chrF#ewt8IbX}ggk1^ikX2~!%Hp1y&|f0ui)Bm*jeoDr$}=(#n?0;IsdtV~$1>>+TdM<{{l z6E-2rE&zVr2`stLWD~~R?APmK;C$h1>Q8~wyo`*D92Wwkq$d>L;f5D1E-O<7&1w20 zZc|9%Vt0 zuZ?SEl}UcSzIUk2YzIDJNl8iVv;# zma(z%{oij-Ad>}fLOEmk7VRO9(`|xQMJ~&xeQxuj%t{GOJtg)izYCq*1gry{%5wKx zYdW^hNyt}3)qzrC@rL+w^pZ3aMYd=1 zP&HH#zKATq;jP6W;YGP)6E*FfxZ0w?$W@aA@G)r@#to|dt3LG3hK$A6PcKq{U=+}gm;@! z6D<46DZRYB>RixPAa|f)A!h|rY}&T4-d?{+V)v9L-h8-Uf|;QWZ}# zT~jW!yj=%K>&Q0=HV0wk38-wu`Y~z4Wv_PV_&esj?^$K%PcaV; z0nGsDMkY44#z|KJyAfQ(h=B!yY%t=Dp=rU>_uRY-!Bnf=LAs|{Ic=Cx&X{fOg`stL=Mc)Hv>LWUb;^N z>U$7glj~=!KgcYHI#UCBVBo?|a}MQMmkAjyUY~Nqyn6mz0<=3PCufhxdT+?;ZEPOz z1W`9$r@0<#Aq^m_g*N>OvyMpC7Mk@G=Q0@{N9D$uo;SI2pn9=^fq@v5%MaiubgV@) zEOrUPyA3Kte*Zoz+_kv0bZN1UKJQ*LUD`*g%jP4vmY=UY!x;dH>BMpJ)G0?caUPx* z(3GWmrci-kvim=iu)Iy`ot>Qp$b$SLFY4&8>XuhjoH%h}u!h`VBrVa??oZw7$awLr zd3)9@ZvE#gJ1in1JM=Mgh{cthEIld2AP#l`igw(GP^`XXZ~o6@N)e-yQnN10{w`oK zTG@eUJOq*9E<|rI+KKdTF5O~upd|CnS2EvUT}EqXF_$gKkQZp>8lx=ov(o+ot|gz_ zN?=r(z&N23cma}(2fz3skU4$&QCb=ch`=2wq^=aqkL~` z+9e&Ei;HWjE%OFQ6*MIVKKtno@2%G|XqE+d*~66y^3>>Pibzhqrx01exQ-ZtKgWr> zwVf76l_S7?RfE1jMNTe_f`MFS)=B$lJ!W1SZM)oEN6+aShP z4FcVhWoc=Nk(IT6kxk`o{biq_IJSm8LSxDPV(u7)Kk4f1-Ru^2Pd+#)W7U;@SkCOu zH}eS!I$5=|bkdNzR6k2saH=)Ksn?|b<|ZJr>Do*uI`$D+CA63ih?^|qlZ=SF&21C2 zv+-89+Xh(;sS8la3}+W-XTt(*LC+!QgeiNVp}xMpXg8p{hlk5VazF=!(u64n{yHno zRD~GJ(TEGG%sLB*4i{ZB)Tekf4>3~k;S2?UUF{v-(?moV2^cvFKGSC=0%f~SL>;M@ zYU}ER9ZBRqBl?(?=&S~ep{~C*T^+l4%zb5I;{M-_5?bh_HDE#*h!J4Vs7CR7jZ7*a zfUTEp=Hf(LUIId;Yi6Tg+%B@F4IrdX1uBOc8F+?8B}JYTK+v(bzx=jUN6sT48hJn| zAc(|YTv%ILGH%b(3$eOl*`a*jYI(M({|GQ)Nx*8e?!t>284<@$k_lL~zrB8j?4tHp zbjUAXvxrZp<-@Kq*J&*9YMhQGhua)vrp*b#Mie682FIwdwKLm_G1b!!@^K2(PBWnkRw}8Y4e2*F~=#jkk4p|YbWoKi_z|$ z$G{^Tv@gkRZN{iMK@{Q~UC#F~59m);?R-|C9FC36=m0HHLhC*Dp;VdPyQ}R6D32DL zNWhcp-gg{_p|2;>W+7D5cy;?MTJ(x6uCI^RzhF}QhR%vdMGSzN#PFCLNBrk&;F*ww zfw=#NStB4l6TeeV-nw;brnf8#AmMkmL6xqO*L`s0i#mm9@2sz%-;0+ohw{Y)1!G_+ z>#q1k`1Km+3it=xz<{B+_wuL5=4g~+Hw@FyU!H45ld_?7-&b9|!NOEQ6QY;-c=sF1 zFakR3NOfITd7ruWm*^YZx=bC=Z)$ur=3=$0K87sc*izWYm#k zG}B$gWf0S2Z_-_8rC1#mLMJMJ=gyt1YZv}5%N-l@>pVL;I$G1~)IaOonN|uMRUlOX z0&x%uS_WRb5h&gBPCXGyFv7^<=xkiL(UhFNCIvd?6jTE@z7P1a z#s{sz`UWCO%7(e#GTLraT1vyJ6UO_Vqox(2rW6p`Y)jfj7#UxG+84ERbgXIR#!tid zdD&b1VAy%kkNllxHXX3N(afSgJF42}@RfF!QM2q!KG?G5w{PJWqzw%X6B^BXOD}^$ zN2?T#5$vjE4`*Xl2$A%GYoE~w5<59LHJS3wmoF<8p4__TzVI36l1(2?H8)x(s|g}! z0cwRZH_@4#034?&DX;Htt%9Z-RUeO-2m8JC=Gr2JIwE3XDNtz;rqbZX{43@47ANrW z-vUlOqZg;E=0-~p>gj41e)gf@QnI@`+Z_dc>AEuU866UC5-R$zRd8be8d=c!_V_27 zK^8L=Z~tzX!DOhW5rFi?1EfBlgk~4%M4}~qj`Q6A$p9!;15tilEhI59k!f66ON#=X zsg{+M6|$6Py3CL71I~jEY<+%K8qFP`0u|!>n}mRPb>F`SXIJgLN=jnDuSWBx;amm@ zPoChyK*^&?IZ!g_$VPPf#*a8b5r71={(?lGQMLcCd^1(^whs;TUOR&niUx1xPJ>E` zo0k2Ul9G}OQW(@0I`I$WYshA+k&zKP>tkWT7DOA!NOFWV3gaAdYqFGt^kQ-QJLBRZ zqoE>8xXa_s_rTOc1nvR1LMI7=t)enrpVrQ$zI*r1BCARU zN#pk^j#E-n7I*dcm`QhxH^tbuIbY$w4wM|w81mFNkb1LV${qauW;JMrF;;1$7 zhu@(bt_tB8)a)a2UTxJ}R?~n71Cb_FO;fx((~-+xppT?vlB5r+UkEfAE%}U$+yTZ~ z7OS!cVz?RT8(IReNYYSw%<-ICPo&DIXQ!%jUhW>tfh*3ZzuL3CpHG;O6@|e_; zbX;x+-r>47gO*F{f4z|fnsEy4ZCY}OQUO{!X9--TanWf#$EX^dCYo&mkB*K`MppI= z4UK#6ryk>6B3jyb6C8!bp_+KlDueI7C(fWISIxr~UW<9)Xw~D2|2YNr4~CBB=H`Z9P)+@r zdN(ySRp?{Z`oynlGd+knC~w`seeqbL=hg*7>X%|}YnEs)G5{yUZBnq3kfa^+>Fg#P zv}BD|T|;Pv(fN%hcgB1w(t5NCEn^CxmtJY=dxMckJ3AM%4H2w0@ih~HE?@8W%5H=> zT_Sz;+BG3prd6HnfhoR>|7!+LJrxL81e^Mo_V)Euy6G&vvilu5XVa7tYg<~DL#)D1 zQC~q12HvJs;d&Y3&^drHh#jNmoGwOQDa+ z#o04jpJsGgYTTTpH%GI+4QbPNiO4sLxbd;Y#l?Y&t5KE!$K?6DkN>sTyQ_yuB^`;r zroVF>|D~ba&D8>?6n!c2U)G5&<=?E6i`%6}6zQk`WsTh7jrr;OUk-_Bfp)GIM{zpa z-{#*3t4u$7`h`XP1tUigU|_lsuJl`y>_2nkqXmc<-n*c-8w!8i;r*LF^TI0|U`+k- z6FGvcHMw!XZ;&$YRZ<#hg-;3b^1kdUu;>r}2!Ze3kGMfl;ys|VI@@Buo1QvMpLx*( zA@M8&gM>?iT?02hTD;g?9?vcf{x=2QKpIr@+FOMFk&B}A?re4YYTW;NckRr=@$hNI z05l12jmm3+1V8z922dX8X1vuVP*G`Mul9P1XuISUD=JimED89MX79tVPfk0#xrHSp zBxHOHAfS~;I~V7NhlU^)13eIo45k$(+qS7-HxP{P2Uc!Qf{jDK@w}Aebjg{?7x%&F zURpp0;Zt3D^7E%M5dQZDRbn>fi?y^aS!n7nh@7i3nHL>O1+F#GTgHz;g+t&qX8Nnd zy9-V8Vq*C25reKOE8D&)N{*DMW#`M;R`_(Rz6}JoF+f7wQXX5rDHR!OF1PhPakq6^ z(wdTWtR3O98)22dzvAINCh^nCsR?1cCC!n0H29T_&B|qdD#ocAf96_>%bMp?qhr55 z$$gv~M8z1XC2{Mhu$JU8GnJzc$9GMtr%ID9Gj_oq3m958@a$wY zw$^D?Rn-S$O_ae(l9G>H-K3BK0z>` z6$K#YQm(E-AVESPc9{Sc*EcnN$eku7C$GvWUz=_x)G4ygRH51fU>~Yj@AFAcK8s1R z>973R-d+bxwO|b$s`~r)Z*I$u9P{QN8OBFZQBiHOoKc$F1v9g=JcgezI}6o>t=f?? zD@(Z0{)`OvvG1|yP-YYdr{?#2O6&)RhtW*(>NwmH;|&J7GT%?%U1TGhp^^Fg#fxOI zaZn|>hM$iVmz7o7jiy*%xVP>IA09?od>lsPF?cvSnJn&>KE=eT%raB%Pu&>S-b_m)f@{+)TR{px5Q6GI~- zG;5q(TugD2j6))b>>~O}f~ecj&gSxz$;Z4r9*E{z+S;$(*5`_C2c-%|ioo=q%bi0j z5RE;RR^3;Mi;E?clnBwJWR^iyR<7v9i>IJ1b)b*l>qG1keMWT|&!Ro6Rj402!sy<; z00ff#XLx+F9HBR&_pnd*J_Z|e~d8fY8&vuDp1YN>4o;4&&lmI(P5 zVPS6`%zzYSz&#Q|BludMA4oTvE}OcRm>zllbcM)VPYIfVF$6Pt5)@Po_G=5lMCR&M zEDTT?R9q7E%kBd^yCX^FCk#p*E>v!gQ6r@L^avZ{4WSk#Ky848G&D2Ylv-XdAG}&h zAny8-0T;h9@X3>j&1b>EXCvfuAq0oRS4s1DqE`rT4kTQO1Y{xLrSZqXufLA^R zhh}78zyMdS9;^;vkD&LHN?vslQbOCh?60hk z!NI58-QE981Cj>d5YoM)Pf#o12z+OZmB5+!strUpM#AU#DGWyCJ<0j==V4T&!OCn$ z8%ginyJtZI;6|XM15OYhPitpqr>v&t3-lb7o15q#iaA& zT~dOk2>J7O${o>YxU8(ME>;tY5BLy@eM0XDmirp4$QkXDe~B)^y?f*GKXr@XqHA`THYoyo5#8yx@iHurXSd z?t)t@lRoge)m>dwrlzJyJY2Evc~aExspEmxC(J|?Fy0`OC5Vp3iFr^#P*LZ+!T39# z^=b2|Qj4WoowcB%Wd6Pe&WWB8`06xG{Ecj_4SRWz6bD| z@&Z%C#?Xm4Vtg$;YV|f$@r~22g(_r1aG5G8nA0$*%RQ#5c!ApU! zXDUIw`Lhj8xK8^VTiJ=_=FOYx*=}H+Xu9&l2M!E;oERKEZ4rZ|92}ZoSXc|RG$REZ zXz0;q5N(2O08UUC3vSDVabN=B0wE8Tr68iG4+Zj~ zY!W&2bm!OjY^~z!$FZ+1XrgRW1M}t((y3> zpezRoeQg%`6k_6AB!bq62eLIaHsYP4x+DPr0s{cS%(}la7^Hx?JN~It@Vckorlpwx z1lro$OT$QAVkTyvC#07o0@<|wWl7-vPXg$NU;nFY1rKYBKRH9*GVse=6A|>b4MJE{MxUQN9 z@7|D?&;QN*lu>MB0K0s1EEa_>@S1_KvEzXUSRbU`g<$%eNd(z`mU%^Lg2Y~B&bo9GcM_SCs zj~|~WCZcmB)o$D-zSVkUxr-)!W_Z{KsHIWOQ_}jz#xG#hsMbd^{0I;VomR28yL}6y zUwyqCvOMhL_&){eAiTVYj(!5re?Ch@m7z^E;Jr9E zUtM|xG3^}j3GnlrhqKy%XTxto#lC=Q=CZ)>Ebp+@_@1Yw zrA2j52|G+EyD!#|Yn46B+#+mN@%Q(iXw4vh?BkQ1olWQ`^$4)$U0svrSZHNSnvzAP z&CevPnVA_jhb#a)X#)d#R2D2QF79XQP3lY!M3XT0f$$ZCBL;}#74#P)D=RMA0faFe z`WlE1s0GoCQoT2}wjh-K$xM%NAr15eBBGgFx~@Xi@NZCY3A!XtOvPWnld0-7W2LlB=f`6%~tJ zSJ~i`Kl9C0gJ=1zdp^Cr9+qR%FV@l7c@`Q2A+RIgEUZ*`Ki{kcfgpGew(_cJPHyh6 z=4@Wh`s1vQtcC!EqM+_tC{6x}) z5(zZur-*Iqt|bnw91L&_bUv`fdGWi)MhkAfS9|TUJcbsIYuWqKk%F>2HkvKfXTijZ z;|8?rmC?CCd9$pzB?`= z_~_P6c8`J|L6(+_>+APY&QuKj2@A_LDw6u_bbD02%R)~>`yHCdSXly>A9^msnEs%) zwzk-9-8$w>!L3fLO~6t^V`G&$v5&uT;~xng%nOJH0Skq3u?5MXDdaC=Kc-L+Crfk` zXj1s5Yt!$fcuDlhU6Xhr$ESW0GHO`BEI{5HORAlbBvO+UEED=`csFlnr=DeGOt*ST zE_xRC;NHK)U$8!X&Psw8dGz21x2$kRh)QLdq( z{oQ5au8W<7Q6<6)ZK1LSh3w&sx?^(^fBf>z%f>n!S-5xCH{@xl>D*}3vcy^KbtV$N z@-9mpJbK^qH7g?*7a_39`uchah*$Cf&q1pL$hEpPTG;DuZvL_K-FE^ z9KZW77vKxNfu`K~(7M`eAqPrvIwi?mslZ>eu^Ivu$7=ALFZS#TT*ToruK65<@%|P6 z$|N;Aqjs+hsLYk9@GcQO zSi4e5GZFZm8>1TfsD%eyrAH$6KyHd3O!s@?fa806{Il8y`RGwF8-F7^Uk(If(1tsC)uT-t_?uOG9yFCxY z=T9>>_kOOHt@%3x0AJ~Hy&ifbHQF&Ay?s5nYh%~s6uodIS9k>E zCaxdTqL_Ri#r`URYrhyb%AZV&YTy`_1Pc!P9dZ(rt4*YiNjudB4fk7RLOMOIKlN|N zUH|@Ny)HX~GJLzFV`x_~eP>hPk7joJs5XW>-AZ+YJYt}G;v2T@5@s)RCQ0q7^3Lv}xn&^ry4|g} z$`$l`GqaWsE{w&;y{$tu;^Kt9*S~aUJaL`gF%iK&YXOweOcN##$l~ruIyttWQamS+52!PGSr# z%-=b3>Sd|R6CHIt={y;8{)qCDQ>ore)52=E)gp8<#cGv_Hv_|`jMHP=CDP0h3)F`I zdJMwK-)Y6D@bGe8N;LVRh2*Fie=9R$%1-31Pz{CvNNTr7oCcXHmPWiKyEifS9LG}jrP3wy13 zgBq9UxdT7-iT8q9dy(WAL)`$=4b6?~P5mBp6?$rU*@-tBKDFBvWh!esmPB%1Nv!m1 zDdPK;S#o(~b!D+G!cDHZQ8q2Dw&GwH>8(+S7wXDcYHh*S%gN?$NHzIgT3yoIrV93$wJpf7#4nwC}F)q|Vtqx~j3L(lJb z`nLjyUthW?x{0lsoVRa_uxTU(Mx2Nw@Hk~fb$cmR`oL(;H;d3pB14-KNe zjdDCV7~Cz{=M8H1>HTF+*-f)ou3UL8pVCoaL4M9VeOu^oRiu>w+!DS6S)VGil5m_p zxbU?$C@Hlw6%l*G>Mc!!tr&SQph zhcgu(z~9jnFxbl@P~|91E}HLNi0gKtp74VK%yriDUE(_EGpf7b*AW$y9A}Fv8i7i&7L}HqY`-ZCNQ3xha()X+9klbnfAS0 zpUt@Lp?ihvW#i_!&v93SxJ~xlW#)RYQr@uz&BW2TUott)saNv)K~HP=9fcDF*RG9W z_Z@DqP`i+leLkw8+(yji%!NJkFG-dOUh$y*pL<_|yw<}g0zSbswes@;dR`??6 zY2k-oa&PlFmzGrbG~tKbj2+S)auF!HpDf0FmgjUZ^%WV98-fe#Gt;H10SA$CqT$m{ z1g+{GHy0s&b6iU9kKWc}^v_&0D|D5$o;dlRk`{gAYHR)L$h{v4)uS1jgOg(fm<0!? z>d(?V&K3g_j@({jx<^Vk90qz1EJh{*DA`d-=hZ${{l@xw-2L@EH>zpSZkHpiK73Ga zewW~So3lvfM|Hr|T_t{gnVF72YJQt!v*Fs}cvl?Cm>64|(OTg{#+I(2K^0$R{+9Rz zRVTmu!+|}u=bWd{v1*WHL`~~7{wg+-K6j4!HC!tvryzx`qtl_Sv;5;=ANFhcGgnUo zJASRq`Ukt|dTdmH@Q-unFc|pjQ+KtGpVYzIsuMJxCk`}UTh+`>DKB*{E*YNN-IgnN z#wt=(9h_@>`tNhi=Og65>9K&zo~fuv&m6%^A?CO4{jJ^qvl8nq@%ta+xdny(@xiCA z$jE$==aj8JzE+-h*uf>x_!m)8X$1rr61-z1cz)&zn;8_*~)@b-h=CYGlVrHl!by=NDy^nFnaLMBRTz~uu@ds<24HY^U_q4uWn+feoXgE1JH}2^ZQ&nho3v|Q+IzEECNgk~*5thx)6o#y+dmY>my zQf+Q-;+{H%j%pMU6-CoLZ{NQCR9kx-t?z-}&b1qr$9?S0saMLt&VDk8oU1lT(#Kr1 z|HO$C81ERqds2+IDvbO3`wdL!Jv=<}t$VfKj7!{3h;ov+e7gsX%kb`9KN!W~-zhh= z3hYSz2`C$F2oKDkG+c3o`GTHvOul(59vKBSvfd9tdt}~tgBdCTjzZIsKVtm^XGJ$ zQljT1-OvHAX}z2x+Gfx=H*IQasvYBE_p!9Ze%u(D!AgtLX+g{Xtg9xN5D=ThfWaN~R*-3X-SJ%w(?$%Z`^C)3#%;>r{a{}Jx=&@t! z=C3R7jaI1bZmnJp$>lEcW_?=!o}JqHcmj-QXLEV+hw%Kn zcJ+MqlKfSHOP5GQ-PZne?cF(PXSKAv?30*CzqGWJ<2bFMkRU=SCMHH9;%r-Bz|O=Z zZ6e4neDX2FeNmD_tbY0eqS;ZbkH5XjE%iFSF+F93OAYVbd8@xZ@ELoiGYuVqsN z-hZMklRC?wionTfeS9u4Ha6&R@hCMl^>TueiHQkX1wyN59@`Itb%)_K<&=~(#k~a{ zu26`Gi0GFlkRBkq<4v>S;tvkCn;E={T0}?D`dJX!#m5B&m&4`Hi*3*Ft&ZF!<*{hv z*x1_o0)ecuvJze~Ffi~*XsE1~R&;G8cvkc!Gh&TQZFQ63Mti) zo0nl>zX~igSH&6{8tNMwZncjWShN$-(-S5Q&0ma?PeEG+QWfK$qKW+PuP%>P5{Ddg zHyfEv;Oh;$AC-F|sJRHdTDn?CrR?I8={ZA(|Vjq@-kFVL`&#S)jbU{Lgk%ys+l(Q(lSH#*Zpskff#h zMb^Co!^1v<)d6Ud^6c5O6hh&A*$2@;UEPd^bEdmU$-&;f<<-$lp@vbr$c-CgElT1w zqu-(~A8|j3Hm+hZ3aKrgz!M=5EHvKyJ8y;9OVssq#3bb88Tx@5Tjm^xF)iIiK82V! z2LGd`m588vXiX4#9?@Ymk(>0LeyM3T=6Fcoq9i9R8ai#_4@2p(V`DU`iih|9c2v@v z0r-AgZ~Ng^QuD;OmxNdjFYP+}^fj2QRI)N5_kTY-aS-kQC)~Bty;n=eYwDE$ch|Ci zF%afs#q&ENpQ1t_%Iu*CR+r@secc8&GRdk^=X0YV#h6wavwyQus z#UB0^0Pv3KHf>JOOKZ$$CLtq3Hx_VNx|0$T3ZB!FdK1V{oxzajAmBJZ&FtW2>sF zeyyoV&dJG9Y1b_UUr* zfZ-4YfHFZ}v*&HQ%E%n;DzYIwdGchwRX17e6|3Ju%`J7PkT2S<&?W}fa=4&|YU*VM z5TZ&MG_eGC{s1K0a=2ce z4tme1`3WGZp(G5n1!HH&{qG#z*cdJz-WPHM_eU>Z5`WMwAx253Kt0lO`@xe2fwq_E zW<{Xn1mlf`!G+b;8X)L7#x;0PUTc{uTbY~V5fTzY4~Q%q$%8eZq;&)Q1B}rC?*E!K zy*9kPc4m5QZ7rv$NYlvxjJu#s45ecWInANe1B?W?3lTMSka~tjL^rQ?!v8BP^ETIA zi{>%mHv4@J;~fxyLqkK8F4_;^3_$~}y}PbX`Sq4L4L8N`MT>a|&CJZ85)Sb{01sbX zGCLyCDr943_Fg~hejh3|96~FMNC{w*Ua5nmh6Wi*C6e?xuAa_${1lZh48swO(8HN` z`q|$KFzQZA&|_d$jKGW%5)z`p0#sB~3{6bl^l@==5?FQRU*P+X-lfxD+T7lb(n;;> z>x)R>I0%#P(sLOXoNl=2QL4I))Sq6N_$6(k2R>{I{fd{E0j&pMQ05XA5Ey{|$Ef9f zudAssI~oc+A8yl{koG%f_AW0a^at9Vpb#f;nn^a~>r+y8^S3mK5$pfolnynDfaYC+ zV!H(vVAY9d!NINjWJj@>nVF}^)>WM5dLBhYsK=P0{0`QqX!+9E#3WJpg+5@&gYh5n zc11YHk2A8c;5>TtXs6}?Da=Dj;eF0MX81EDW77=m0sF>{8^MmiJ%QO}*;0LPYPuAe z7-zHxhBWnHRtd+f^(I?{6mwXzMSB)i_0jT*iU*UwQ>ZSu=`GQbkQ{}pSJS-q_b}co zD=YG?ewmq>Z9;n4$C4Z#W3N^vDmuM?{P+k31x0v_ji#oiWk(KTHxr$CEHKbSBqVBc zvB&W7@$(;h9)>}N7jnwFx*w)0IbX<`r<~kgj(+uuk&jQ+L=Oi04sT59<*NMt-7q#P zt(fR&3C0%;EG)7n9@nm2E7ALs@uju3pec=!OUjJh;r@MAV4m*_D)LFSqe`8H7P6ZP z=tP{AlUHOirT3Zj__e)7x7hwzah- z)PB`bFN0CL&@vFZUDQeZfO8@^L7X#Y`y2~Pbxlo5kG<_-L{Gnv5Pu5!@&J-uzr&g>YMzUeI)Vc6Ccjo>V(H8gcD2N^BUR z;<7T6&HqE$TR>ISwritwry?B!3W#(n-Jo0|F(1meW zTy`~nYF3~@DdZq*im0(1c_UzNm-}@G^r~|E`}@1x*edEAow@ghD zfTy(00gRVQK!6+|@V~w!K&I%!LwmZ|w}n+m*0a^P0P#eC_NI*Qb69MK1>ZCi+yj%z zKO>ovrS?m$j>S)ih(h0dr7@VuS0z>d%S9&M@;_+kyj1~5^Kd0v5bAopJn(%$mz0!* z7G)D3Jij< zDajXocMwC9|FhJnE5o2INTWnwIBSU2Zk|uO-VGOg3WLJGd_3FllRr(*AE82ZK&UX| zSq^JrL+my)98f{#(6__AcaW&^II{$rt(4^-cDNb%1?9tcAH*jkea&-oWZ>y-yB4df zXlfG2G3jWUR=NE9_yS6)vxXM99N3T=p8G46yh{%k+PZnNKJYH&pC@%H65tpr1{W$u zWgz`8rmD#J1t`Bb$I35{aaE)L6J|pHb|wklz|0yb0vjljPOLoG{BJ&cj`9HpaOx!Q zJCp53plPuHRWdd<&YddMslx~C2l!D=#{r;(mfJ%gPk0RehiRJ5*SiB!GxsZnTk!KsQ)e`!Mt8X5PS2ysPs*`!W1)`|H%D#= ze*V_wcckEPjP$cdstWhNaK&*Uno+S+2+ng?6j{Mz zcWy2&2^pD)PFi~U{LUiU*tfWkAH!2nr1{Rq|6rQ%v?&Nby9dIorKblK(C{&hG~gd# z;gR%#2blh4f=_KvXAqygM_FRmeZUVs6X;ek*sfR^yj3DlwO}MxIe* zM8sjwY7cSRgXcp7f#ZU@`knX5o->DyVaS1+yZ+q6j1WDn#}!3ap;n-CWt0{BLG7+` z{JtGf4V-lUq}#jS2F%94fvQqYh6IfO=X|IR8=IPfb|qPzB~^Iy=aXzJHN1>{%b?dt z`hH_@V&=SuHqD&j=JHY>2!oJ_h;a{sJ3yInNl7E1N*MZBHBTNJ8*6=2%P?v6qVJKx zT`P;ry-x_I3W9^q&w0}N20QU#pxxkfvAu6|^2E`N#10Nn`1vQ;r_c8oOAV}uGcwr^ zJ*KXo@C+4(Hy9W{>&R_>1+bJ!R`AXXK0AnwL2nz$+Z%PJytH{g_vUhIgCv2y&ZJ_z z4S0sdy**52<*{D=m@iVpKNK^091g%uxjPnQ?p}-T>Tg=N@i(Uq@+ST+~<|&2%T#t0pZ64J{xL>4##KAFa4Fs@5yz0dkfqhEH^hdhvhiR z`}KZB*S#h{`1||&0S_}M@UXC>u=y!ZT)D7TF9@UjGc*Z;;rw}@sn~VOIXu{#}AtX?d!3s`uWIj(7cT6A{`?{_>^lh~B60gyY(da2G4RhRT7;zdhK zcej_q&e?@=bDqaEwfJK#YVD?@YQ(Cd2?v{Xop|r<-aA<_v10r{kt0W>H8nLgsPK`? zc2;Bke0o{~3U!T);5I$n^P2W2_=6iA$#kGztlM$8)V8#<6VC5>uHO;%1V>!)F1Y&h zXP~kkefspt4=PLtE_{0pptH)RW-_-O6xz;~O%7V{xxu8B`_>FJPQHqRyicmFxb)k% zt>8xxhJF0_5gOsV&9q-xS-A=L8vwm5hko$Ohci~i=_3n;qTmWcLPJ~9eDCv=lR6_w zkf9pa*_y{?W*dH_x?g)=t_ zy?KMGR-_#YRmWfK&yCdp<6+d<(IJ@l3>go>P~FB$rGudYbQmb~4Fy%98ciVfpgw}^ zfn@raRHa~SilFdt^i{_z_9lYF#6(CU+0NAl`uV{WddtYlLd_}(2?>rvj{yk+!t^N{ z+b^Ysp*T6lPxp(kqZGNd)23_2)O+*%<<>{l6?;A&NIzE{F~~S@zApG;>v(yUP*OeG zV172SX=kSRIpjhhB)D)EMl^W(;SNW%xvGG##9f{Ed{22|p+#`?=uf4}Ppp%1l(2l! zld{A8H1QZ>a0sq1P(@jy+84jl*)s{&CN~05anMj3B$s|;+K_`iq#JJ#%z%;c9Jdg<5~Wi8TcBAMkh_h~C0L zshBU%rJ+WZvuD0QMz=y-V}ovwrg&%7Jpc()iDIGDNb>9&a0Vpc5F~&ifq@nxheSqp zwy%H3pNKa3PA~rcWv@~+xLSka@rl+SjRe;6B6`d7@Z%aiNon?h@ z%$+>RyV#fzxA;_VIzSBkQ##apTdI>bG5Ci(X+GCTVVwQvqAgecyfQ=d~Y8M28Z&W zd}pHrS7C$Td^J9%R&9?En3~+Uty-Z%*ZGduu-^AlUG5 zve|!|{E^w<^Y7vE!90q-eQ|n$>5UlF5*%JHwyP^obQ6#BBL6`w#;mz1lMK4a?OiCd zLEQKH_3Kz3d2l*mg$l%rfe=8(CWm-Gr{*U;&pl4yExzaGq5ui@U!ofLcO-y4gv4sr zh9o*gSvfhuK*d3m;ipQ=s?yR@HT2`L6&kGyOGH2*&wd32zypt8pnHCD(gw9& zTwc0CsWKpcs~uL50H)FF6hmE!@9zLRE!Rx&JlhVuI@wUC8-UR_G|XsJmwvD@H2eU? ze0FrEtW;H<3wZY3b+$8Nl9Ne({`@)KN5<>ip2TVOU4@?VvlMV3P_S%dq;&Qa zisS>?DGp>a5D~1F<8+V`EGjB8*}nlO8|zur+$;n%rCRO&z(BvgnNdJEAR|U~=hbdk zXuxGePL5yO(6j+T4)wS>?M%uxK(P%Raa>_xVa>06utFXl zJiB{)OWWIFm?T_J85l4C0s+6`26Q7dXF`-_tPtLxX^M@LGmtJ!6PtQ_s#q`2YiDPt z?d|}dONYV>2*XH0T@r3v3_Cl!-T4L*o0)PbCBC@69<=@>f#})-K#xh$P*2Z@6vh{+F&d=Y!h20nXZ4&|1ptjZ*4_)R;yq?d<%oNl;wInQS@9feVT0MqC zx!k(ecW6EF*65}(g%{WLoMC?R4*@0#ho1~hN2B1qkg)K;z_8cWuWeO(GVk7f9>!QS zH?tr7G>Fd^Q*bdUW7QrW(3SFF_!BX(Pw+OU6{G&Bd%(ghFaHAOrmz2W-91dhPtcQmxI!6{%P9azqIKG+pREJ7R;U}Gs*Ter(PSG@cUFX7xo!ObzQttcO za1rJYk5(5m{ekL>w4`oc00A>%iYgT`P5p^b_u5FKx2KzjNB&f7c!_m6AD$HpQi%BU5V>8byiw-R;EfsSAPg_pRo zv3X-9-QV;g-^XE2en23)2L~sw{Qaw{Tx(9aj7?1P>ZYggHt-n_yOyX!cppdaej_dS z+O9BlFdJ$ucC~ZbKdgRv@)esSbx_`!WjOx33Hw(^__)(ks{U`DsAQU2hUXuo4|mMK z4GOSiPF5R;{QT|bmBO>v&nXy_i8ATm&DFf8y}i3DApN9H%Z%+x8XXznyU_UR>nE54 zTGLfu+gI=7weOr`zF(C(d{CiM6BhZL3VLStdY-0Uo=ySuyQj&p+=pwG}8 zVrcLP%;91Se0xVnEbn>+*X7O43N)Dmi}aNr;81Gr7^dz}+*t7b5y-S(Y;95Za|l{y-cn>|Ck^>{p5;bA+t9d zEajyqqYma8zPc3`7l#7c zx>(ZB6LFmePUrzv=Gv7a>|I0N_-+k0^oJ#`q3jgIh^W?-lmGEt1{6F> ztx$96;r`$O&?i4NdFNtT@S$>YQ64{cDy*i)rwY4o3TR~#`~Z7}kQMw3(@nmD8JU@- z25mu>O;t{L;bCrS4e?=KY+H0m60^8T4=gtx%KZy9UUFe)(hyX>iOPP^uyc(>8(+1 zZ&0)4qeisd+ue+VC7ZNp`4%mS!xCY|Biam(;OTc&X*01qTugRlWuW+XU)$q!o^8jH zEpoqaURt5GKXxLuF0|3Nw1ks>AC8u@wV`Lbyz(xz+B>gm(yG|!k3C6U=9mLjExR!r zs+!kcRAn(m3$vA-VgF{QZ#>yJyLL`CzldV#BhQQcIB#zojt>{zHWruW5^#<8vt<4U z=8cq#bF8w53lv2wD;B7PkEc;~CKn{u+YBST)h|*-0U04Ko(>NQ@dHnF-eafG@`_QB zF1A{+a|elJhTBgiiyrbRTYm9h2XQ;0^)Y2imebMhS-g}ar)B)^)jE- zjnCG+$Hm1>*G(1h_Q)dtdAdD;4%`Mc)cW>tf6)YG$)KEK)|<87OlcjJ_Ok6e@gE!S z&a%*T_OG_{U16Zw4ao6(UD|K%>_9m?(O|5?ao6FgDS~Knei3bL(wRz|g3?03#G#-y z)Nj4HwbkQz&pQ&XeLJ!cq~ZTR@@PtF;w=NjSNudX&nve@C~2^E%3b5rZWG>c7Y-OFGo z5NVgfUo$QZ%be+dcQB%6(AoUpJ0v4ARdlwrset`9D+KqT!-7<+)=My}c+hB=gp;lP zd|}4$y8qcJg~y|!D4J>fd*UQ6&U|f{LIr)GMxYkUg2H_?G_(@qwYP<5X+u~eZp|6! zcJlJOGffoUwXOw9kRf=Un|=Qw=5JtR#2Ixk--4#aUC^lPToGkOeNel5LUk+$^twQn z5-KG<{afqbzp^IliVDWc<{4$gic{qU@9^T8^(Ijc3oLi1OQA_K_zW5fTkrdmxv>eD zb;k*hl~M+KEbaKpB;T;walnvpS^MSXy|}(O7`mpWqRQY|dHBtHlA9e>747@AgfI?< z@W+v0{xZBlm6!F5B(VmDa z;Nb`hq5oor>+yaF3Ds?Ld<=(_GW7c5+iY?T`%phSyK9`8X@cz!uj^Bb64>&@EgpZN zr*yreS<=wR{!WrcfHfx1&v$>1E!tjwJb$C3Lza<|q1ka9B=i&q1pzL-;xmJwX_JR2 z_*;G$An(w?YysuQ@84kn&Ut2%Fg%Kp*3cjX#C>M1G!+5PA9^3vXXrmmJaJ()lUG+1y0Txvl4FD^zd2on>q5oet)8_RHo_^CN3&+ygwVp??s(zZ`kmy3#F^ zy9e8__5R#hAH2F`6Xev5`uC@1&%UmJkM9^;dWY)XRe{DPLu@$Uuwy{;LoH-g_}6;u4j$~kf!K*p|mm;uyZJaS`G-xy5MVr&Q$p>*RTmrE148+`I*a@f;T_{o{BvT^{x zvqhkPBWruQyZusA$vrOi8Bg>a9ohQ(`xV~3`Iai(bye$Z_iQe|AP{9f zB@kBhk-o75lI=dhk(ox(?7f%-e@lB$=;p`?U+udN!_gSAAK9^Evnnd%Mi;5Ugf~l^ zhqCfUw;xH+`n>lvS%WZ|F#O+PAYsZ1iL|oEM)5x8wjsJ$hq_qj>Ri`6Hqt&Kco7kX zg!Q6%@CX*S#QXcdqIkeIYO36wreq{(BEMZA8CuAXbA|5hp{%mz3A|cdMM+eu{-SDbQsk}L`iKO4Y zt6K00h>d-6eY!Q4o6Ko7DWt4i*7D$Swv9+YKmgFLy!NLy6M-J1hEQGOrS&Aqo2t`O zG*XPdwpRD`OWuCWwxC1S1wq7zc7mR@q5X#6EIX61g2=Cz7k$j^r<+Sg)ITR{Q9FN4 z(TOZ>szFXi*)*OOHb{K`-s-UBVa_k55Gy0U`!r`ZJ*`10;zf%W}*zpI=BF)=ali|WZizbBV)Rp3=e>!hBwMv?IX`aB~s z2PKy*EG!bZY>1h(tB1cQ%L`l~z{0{N2>SXIXreewTRZK{s6HPplEk)YPdW3eSRD=SLOvrY=5q-zBc%oPIVt+3m`~A)POLhi=d%d$yL9w28ud21N1kPne zoGT0$Vi$aT5$3Qgr%MOOiHWUW@$RgQCq5khIfyPXt%!X4uUnw3-RMOGlMC%f^X;g+*v0 zyIDrPwzaK>s_Ju2Y1Y82+?<|cjZD8`hitfbVua#Ui_h6L3Zjb+QCprH5(J^iFb zFcA1WdOmSj$vt5^{DthAJB^1~ez-|rTuWCM@}DZZ;LuRi{(*r~?;Dqzwa*YnLY=LB zeFZIUsDUC-ssqT~k4Z_InMV|?h6t&A?jHc2a&BkW*OMkDCSvxcGeo7`lJH*a3NH^N zYm}Lw!%Y=Simkp0p>y!o)>I2(hKGk9$zDT5@H-7c9KQ_1_4SgO8Ou>DbeNc!@$~vy z@)RD6Mk!vjHc6e9*&(};`Q(QV8w}zkU_hlZ#V)TpQeI%y621R?x4DM#J)4F^+qMsx z*Kmlypj}_o+`L2&L*myWe+IRoA^O^J4&%yTyR24c!;AC%xo{$O)9yQRbcX47T2Li^ z`G)I(pkJgacF9u#W`W|T6gQ&ShG**o8pmf-)AioGMKtr~vA=#WkQHdoKL;MRwa(wz z@!K4^t1bZw!sTXWG*k?N^dK)I^D#c2fPs)`l$5fOm_6{qUz>V`x` zbpkL&2+R0^>A(~p9utH2}094hT$d);d}o6dVeQ zh0TbSo&ImHAMfw)hX9_vJyD>js)`5`5*`lK&q_p*hJK}$Hv~HPpHkn)kJ~g%Q9V37 z4lgdcfR78mzV?9H?xA_gfRy!W0MqGEIgn8Z;*&Y+__%&t&*xz$M*w5L)QSjg9$9P& zfFh$a6;=+bo47TrpY4y9#iwUxJ`8Pe)5(KxR9;cRYB`=uvo<*~5tx}t4agRW^J83G zSTi#-F)^|7+|);5AIrnx?xuTk0t2OF8bhOLW&EawDPIxz;=ahsTRvSo(zh@T`jh9n z89nP_SCqCY7G!>EylMh<7l((x6;E~aDqNG@D^d&rsVz87Vy+^Ug$ z$>YMd6Z(!0=kDHuk13HwqdS-55pOj#?Da5WLXmSB7|ZPs44&ihH>~CAl~_SFUD5LZ{r7AM+P^&Z%C+AmHPIwMJ-z`jnMi+_h< zy6?k1-HR73lZ9H)h$)8^uIGp_Q1w>H@8#%YAZN0CN;DXpb|x`lzUSqk!o$OFHPjm* zA|kd74Pl>b3?ak3;^Ap+Z52s(14z`?-0XM08-Oh!WNw~&+E`wW*V57gjqLJ+g|`Rl z9U87PiWMFmjSWpffw~45;@nJEx<6AV@VXX_V}~a4jol%E3#9d4XloO__PW@gJ3Kvw z8XjO^?rtt5fyn&u;e&Zu>Oc=hh-`F0em>-Hpe#>M4=R+|XbZ+RFg9+N`kxKwOH1ab zPY`dxAm=08+S)>ydGayzF%4Usq==Hzqi-oGB)7#G8E`Mvi`vsggMVy|;Q`MsYm1+Q zK~Mj()D5x0*0H3l!@6l}^kzGWSSFbRRa2W$<6_f4xyp9MM*`{FE*T7r9M<`(3wgfI zXtI|n{`Ky>h<9^0FBqnj9(b!iYX_Bm_BPNzbTqB8*WY7% zIsJQ^V|(hHjA-+Fde94HnV2LO5z4^YYmd$C+@;wX5t+j}|6x7t^vpJY0E;IZR8E`C zYFE`SzX%jQxlq44o6>_a$1iUiW3$}mF7F~RP%eYqJ|&{Ul=x&R&-b;!HjuVoCBPv9 z@oCK8+u2lQ+crO0G|`*F=KS-mdptzy?0mcG2c}|9-1ug^-@Qu|xrgo*jIrq{Ky0X1 z3|iHWpEKX!X*7|qnp;>H7!-u`v#=0=KO8(ftHtQE=|6umMUk(#Tn!$@)zg`jMUM2bmZT)Is;X+l*&xTy zxC|Nhm@HUtb@#_u88a9%;26Ap{e;7^eLiKG#_!!mt*@>B+dGaoKiDgAO zrhXaOqgR61;vF6Kn-;~NWG)WW7xmqkq9~jIU$Ztdp3E`5+*wtw=U#pEv(CzBeq%lI z`iW~gN}Z2)$ifF5(S32 zVw%V^@3bm3brrLtR9_rCf(ZX!P=_Hn^`X3Ldk#7^NlC;|R#foe_Hh6b<`;qD+*}xO zMW`ORsi~>oGcYg^%6IMV?n3pI2*}7ro5Sh)r5cyJWkV(IC+jp*KN``#mN+>(3oFL- z>wip7PZv3w93J*-3nxO!hNmFK3Z8t$&dC{AQ1DVNg$EJxxssA?^Yi3$YtyeUoFgJ5 zNxXE`)M(htii?Y*fvunfifox`4fHVdlz$;oeG~ktZRvYsV`}MqV$g(A%!}w>r&$qv zLt+GxYYyK0-U@huqoYcMgoNGC<(-|K1M2cO*4CDSDSVm%Ir?FG@TFc=R~L&Z{^d%1 zb~cU8VQ}F1(7$T|zH=^?{N9|&+9Fcgw@Pv13XkM5nCm-bUu+w1M*xnWg`HFUttBxJ z0J~}<$w1?`P0RvlgKZ54W3E`iffmYj`i;J5*|My#!DA&8!ltIr1@2F2;(TmFON}C8 z(_BdL$0x=W6kmJ{My80Sz<`H&_B{5(fT^hR*TPW;yEoT#FZTh_g)(J(MB<82=+5VA zjUcz6%KB-?;0)T-mwQA+G}nWLVCA9I@&|b_397A0MlTk}XEHplK}p2OtQ$j_wY6t1 zPu1h1R2lz1+c_cGQC_>~+l7ZaitF<|bXr>4E%u(DbHI7BIBhBEzPxNWQ}*S{qg)`qoiD81Pv`OJw8%}i3bNdF$-}}nB_GAc#QAj?jv!Gc z^it!XC}?WZKbEkyW%?*$5MW_#X!zmq&>n+AK%3^_jm)kp8G$6SwyaF+=4WaL_UDL2 z#k+2d%t^%7(+N8qGej>Kes+XaY;8{U!4z<3w|U0kMnrDGQvzU3c=a5W8i|;S<@=c_ zzo*NTgc`p0;D?Roh08?|r;0AK&&4Dppyfu4`=8(qmCsHHm?^hR+1~c` z>YvP%n!c&BZSlOccWX3kINtV~+kyA$6(ZtM>!_Co4)J3ZNmxev`i@AtLTz(>gMp0= zrnt1H=w0E@p;+jnC&+W8D`BVHGvCUOqEoXvR5{USmX_ zat<6!D!*sYj~~yftE=lv%Sre>I2!M-t=c;~mjMJbY8p-B0rZEq7sfGa(RkyNkc8jg z-Mr)^6+fLPjoi9Z?d|J3TJU{<)~S}8AoRus=QR?4m7M1*#(;({0wCUkX zZO@YZ+TGgP`qP!+9(^I~Y#HtH^0N65G>=%j#t{)5S4_>v#wI2$fNR*MG@_F3ksYd^ zTKt%=3-7wRO5n1{X!XIQn8$4k<`(E{TrJ=&DI4w7>$=fz{UPR6bBT4&w@JSzH9o17 zAaFv1akV{7wu-`4XTl$GeCz=jN_Z3;=H~WjAyE(}Yy15Jzl04VA|@vO_O{q7=WHBh zS{Jq7)qP(D3dta62eJI2G(qI2l|g_W1n1=B$haQ?}E3c)krkQV~I#372C){p$*Q~in zEUmffWX*b?=!nh}j^)UAeLzGv9|C*`6^I@C8f`asciT|@hGb(v;EsZdAhKf^tX6DdqhOwxb;l&LMJWM@|;gii*Ye-U|T{vFE3#S~lOnR(L3% z%yIp%Q>>6eT4+@*!@FMyt_SntQc@^;Qm@>5p{6QaVq$uoXeMDvNl8;*Bx-7Eb1N(E zYCCvwMJXw%=4{zy;@G-84&yL|XRVn?Q3dQ7cjDwFYEv;|M$6#&YnU|vBUmxDI;C=*ZG#IF%&S;9_ znA*64->~>|wUjGMqE0(APi8ckSGwTP`E7nWtb38V)z;#KiiJe+Bik?*2Jv35<5#<# z5f?oqBdkP8015B!pX!smqoI28H&9{wiZseC`9^ zK$dj8;Xo2+MBDMvk+7T`7E}!maF{{6T44#Z5;$g(-Ew0yvpy%nWXRz{`2`z%Eocs( z!|kQR*4^=1-xFdDA}(t}pSv@4Xlf}GvIasB8rzC*LqA0*<3x!qyLBhqJr>iL(EM!Z zrSt&|i}~Pk1k6iOQxn=xR%zLw zqN5Xe;JWw4z0v)QUK2S8wMb4bgvS$~8VTESNs0kRfvt;eZB=EZ&yT~at`iA=eL3oD z-V1_1T)z!R!Z-s)3Yu{7WY- z30za9`RjjUFLP2+)ut)0-v|9FEwz{!m?!4dN&qjXKzpz*4i<8p54CzDh}iW3SVfX> z)9-fGI`2ST$}?XGOdPdj8wN(FOBv^!T<)q=T@pz!WpD8J`9M>UCn{~?!>x_WSKZmwFX4Annj)nUhH zw8WoJUZWt0)HS!XzycYCmi9tVLBY@FPi4ahCO+!N%4ZA=7(PBe#)~Qc#A2U_)8UCc zdlWkK!tP+F_YbekB#Pa9{kuHL5L}eP9sn*{9SiDHKl-4ZO=|*wQiRNh5|Wd-tC3Ov z#&RcshYfetqkVI9?g9me{SWs=cvk-gf(1mP1EPuYj=m&fq2bi8GhD;-2N>ggLX*&oRzG6snz5?h0gLr*E#&`Am+5zlu4;J@0gp z)MyRvc6%i0N&9@`l}p-)q>Z;pat~9+$7yc~ig)r47UQyS2OU-kXsh06$R1t(Zh~H4 zn~+zb_l|iZD~suIy6L|&Rm{CjLro12HPg=3aqqc{i$i06p*AbOu9cRquAG(&Xlr>3 z;5uFc6yDdTEdWzZW}&`@{(g+u*jRey!H@qAK^L;Iab_1kR{X3%i1YM4qh8g1WcNEA zMzOw)W;#HLPH{G2> zWj(_=@@W!tKi`!hB_$=X4N(YqLE9fg#HgHr<7#o0|MtosaQ!7{7$GoaXo4Oz=h(o& zfWx)H8RODHih4(UHBYt2$9)(kMZEUxzw6{%{eqK=PTys*HSbb4v*y z!#A@iaLie(Q7BICln>>-K5O6a&L?A**^(W;|3rbiTn5OiOcI` zPnx-Ik&_bzC->9Tzh;Q!lWdO{`WlomI{IM$YR3oe7Az zW@KcP7YNsln&;Pd&mI{7m!whWVv}jh zq+1_SUd|zt%!Nt7r2YNQ%)}({!v{FPEM!u6o=i;qN{J5%K{?%-lJ{V8fmYF-@4gcg z6VnI&n4>Dq>lhUd4h{nK*xx2i;IY$xWlkC+2p*8AD$-FEnIz{g$90{A-`-xH5ca+y zUQ}>{U0x1jvG=1i^1YuvfD?FFOS+mbx@M^o3;_~tbXguaZQ&SI59CYkIx{~3C2VP%$93>rJUtd?z zJH8e-8;%u3@oR_kLsY(hx{Ci|0qekhH6-UxqGMR9``w z{socu)>*B)OGAmowVs0sX^|PjmwDRR8^!H?k?pF>ola8iq01+f8*?Rs`~2XKvFqyZ z4c_2{ZQGyS>)tZYqk9_FtqiZBR>u>}ne*)g4&gd@bW zbbRb+Y-*ZOU$4D%>#;rl0&2+z4k#`zF5&fint`VJdcH$9zO9K*S02X3&jun_HGdhS z4$Msys4wm9VG5*SYiVgg&FTg<$z$s8Nd>RCUG{$mv?p_yn)cx%6zN5WbbrNZpv%cJ zF}Y-8!P&wlAD-`XO9%{vg{7l6we2k|ETq|sffIW3hOD<>XC&|IdbpRc!Da5tgqzoM zj%N1+RjlUbaNFDMYz;F@2r!I{e`DOa*RfvRNb!G;2MuwIwdkv6cgWnWW`B`mBkbY96A=+XEahvnbpS5C?a!a&^M`u(lf{hrAA$=(rwckP$du0z|5lx@R^d)5;8Iv7B>GR8iz5gxwK|q*x9Y`;648k z^5`uy8Z&S6(9X-ldI7T9S-I0eoGSEf@z=RUjEc2RU-tnwO4y!N z&#(PwEHIspR}84ERd5cxw1f?{-a**fQ5iWsc&h?+qu;e~RihJD*K!M)+svnQ6joTc zzcS`|eN52$YGC;a$4DF7z;BMmFT*^=F`LaQcdIq;58Q2X!y~-yk%e`VS&wog)uC|0 zoMLW~=3*0gq!CKcJRps5BD+VX-~*aTul#XD0KJ(AQ5cir>v21Q{8`43A~K_zd9c zgRoj^F2kkX$RfgQ9=Vlpu($1v^On0RDJdIR8p4UfH;On;0U^lAOVsHlEA#EC?t1f5 zNeOp1u4E<}&f^n282kSg6IZ_ZKVsq~|HQ;YkQ4LsKf=HO$~fz(ff^=K7gCq8MJ+#@ z7&F${q=olU#2}O4xui&4P0bQeggrcDx6qvO zz(7P8DYG3$28K^bN%ZRV|6r#ZfkCN;;fXU=@K}*)U$Kc-s1=bO*QK70cWiZL-=s&O zD6Os2#H6}kL3*)@yJes}%eVtSPwt7nZO$hxC$cz+fObs9N}hIJ_0OsRF z*yj0h1J$wGV<@fKJ7JGVndT50wpryIu z@M_c&5kf!<3fvxwN^z;&UTvhYI&BUk&DGV`a@A~UOTT&Z1{UV0Mk$R%yH9(X@QPekYP$4zr zu+rJX=&5`S=NH!dmO;1l%XxpxAb#0hw)8=Pl_iVK=rePN3jMiEWZU`L$QvRe`(Lgw zFt1)uugnS_5em96XfXe@ww;#~_Py{y%engh7&hn9ZLB=#7DC44lu0zq826&YQ_3wU z4lar!9!z=Jj?hGca@X;MhldpK8a`hpkzg$A*yuW{txT!eCyY7J8d)!IZ<0H~XU`BG z)5;mIPQ@{59WDh^w03nN11EKObkqWwR-^Y#?{j5CL#o!cwtuP-30dJ_7MGSreti37 zK__No!w7%?mxKhJf`S4H5dhF+9zA@`gPY&)*>vl%vVpg=jxE6`=WCvDdu=t<(fnlV z%2Qa8$|9%g^>Nq(V(=U)zC>#IhIQOeqTP)21w}96dPOeYAPCx z1+6J@#PoRn?3oY{A#K6fIsEEQ4fWv0o&HO|@qLM$pO$qtR(-OEC9&CE7N^TY7NO@d zJKkZny)CXCPNXeUkD-HkSJ{ilvd;HbWUAz1Dz8(g*!9e`m9^k( zWZ&0ozh8JIzSe`Y*%-Y;)B>|QL>p8)$NFmu6;FM>E0pAb`dJYz(+^w!5T$mu07U%h z(S_x5wakGMcG)z597wLJLw$X1*n+pv^r!UtdeXJEwcLV&00lZRclR1?{O9-g_X#}C z^w5GF0q<*Q(JDkxz!{hExzW&pOd0##2LIn-F2R~J#>n|=;)7DOVh9Y$cUe}$5vr{}< z*7(V$xccVJ!Fi#f<3ISHb7H1MMjFhPW{PZm_0hBL+*z70+2RduYc0>yQBYJ4wosO7 zUgFRuXJ>zTbdczsFESJ)(}IWIRmBzPk+CixWSdwIFa`rYiTHcFrf1{n_?4Gj$o zD=RdJpN*Z}z|gSOtuRZ0t{ocWW?~}lX=`N_{_Pv-_;|N%oVt?I=;FF;Z~LD=B+$0g zB%LaQ{-)1soVG#K!qy(J$%A|y&b#px!~HM&;f zVv545zH04%Fnx=rO-A;lIGkg;gmucIyzQNaM)(t}v613E-%Q;m+fD%!S5Gi(-0C8KBcA2>3~1M!ouqA?ako#yga1zIN!aRB&&G~ ziMS7JxS?V=pdTxssfEKAs3D`rRKa%OTPf}57F9?6&n>*Z87K6)Pex_qEV6Wy7U ze;l18E$~HAZN&CWJlRnF@-sqnPc|+cf}Cjdj~Q@$UT?Xxyqvq-P_>=m2{#imqt}SF z8y`3U=4#<^Grmf=7OE0uRvG8Bh&?q*65!(E>hAB4vH5~+4h{~o zsTTLwx#~bNIzS<$6VHo%VR`vt;j*KjKN$cYB>YoV;?h(&gCH zWIjR#zP5f_5aurrHTACV!U3OBQZSK`krSnL$Ih}(v#g=G{c6+0CyxUr@{NtQmd2dF zar^j{8}1oao#P3z>30?@2O$FX&Z|p(9j@km)|OT;WYXLp2YET~VmTrt&;1&db$91y zE6Z2VWwIh-wGN>)93)7uRAUg*NkPdO#4~JH@bB%^Nj(KJJNac!Bqgh!-LA*n$NC6rPPk^-|OWqym&@SJ2vlr&~Txkrx!gvtugc7{SN~88lp~4 z9F|sAdOr-vsHmy4cE|N2N5ifRi;bk;C6dC zVhz!+unx>;9Jh{b7A0oLi~1 zmxU@;YD_llC;s?93SGoR^7ldFUH+TjTY|G|xp;D$zRj7HIpKaKg&_!k=cbnE?|CIm zXnhf`ZQwlW`XNytX)v2XsEPb#%hZ3;+| z17KV!B$wYEMcQ%$(Iq;C7ymBuCmkn7!(vHnLW+C0-yw{ zb@%XLVf#>7$+h=dTyb>8=lJAAQA_J3zd(OqA4IC4f(D>A4NOb|eeSL)U%WuQIp1sR zjeTjdnofs?ii$d2ZlRp%5FQfJe0z0*i--4Pc;*LgSAVl+P&9jwZ+vGPO=f!2`38x~q*Oo!Hn~(^qhD4zF0YX2q90HZKGnOWaK8 z$#bydUsp2h4jX+7d)Z#`NUu_QPb(XqE#B6?7Z_9I){>UGET`2`giDvS;KiP5{$#c{>xuDW4vA!~S|TFX zSjGfFQU}ZnY0P(bS18xGHVurX=@~o}zO>#EJO*4I&RWqI*7%JP$@4f)qwhNswbB9x z)Pf7HkfxLBnO!xgQyM$Y`t|JDJ(=?@*;{rNVa&?j$vU~bCbVpVl`O{UER+l$>9c0b ztR~q^SP^b{p)JK9#bbbaTH$H%ag361=l9DPfr0HtV6fZMedt4Jf|5!~k7j3QS10qN zo_+cK;+>%kK`~<7FuMe8+IXtXTU0p3T_fw}1zbl#|ex6ycQQK5V)-apLs1qaUq0Drk zwbJGf473DI6c8_HCf4GjzPY)1b4Q2xQsj2hn7XqwXX8SJ^!nBMM8WsMEJk&W|CXFk z^a$^I{UTA8=DlP7k%p#Zf;xCc0Cv*Q@3oy!}??=hNSdQae ziE?%(B9ru4%G1|g5VkeCwxK)tzhx@ACCu{ma;&DXppx1?^&d-jp;HECc>#~p8w^Z4 zRe%2tid2ceHi4$UK0Nu7>7UXwY+LDyHn6dYd@dc={ak*kNC)@HlR%TcID_$AML?&!dcM*cn3_ub zm#Nhd?er(I$3#ZT7P#~#^JpbBe?!k($S9|OY&3WNrCmYf8frZQgkiecVTB~#d#={G z+Vy~3L{v1CYHfJRhVzUIeWA25if)N4I7a!eR*_LuR<@eN4DW!(^Sa4i{V5+I@o$cS z5?BZG4K~00HI!A<)C`AG`42BHXx~~OUsKg5e{%c>hT(*NE8rn=a&rC+QA2M;0FVW3 zwE@>|rxNwy1Dy4r%1BcQIRzbW+<954*U$eURNt-t)&{q)@3^?QprxtyBN#T`pF2>V z{V|=xD7iti#xHGsT29{XmGZBI!}l;2Ry|~B*>`S(EJ;1?Oq4Kx{8zF6l&7O0Abz&4 zE;_H=tCxF)M zIXS@@8B|+k@W@zxT`LtcLC`>^<_fE+nC*@6Jmob3beI3Voc+_}FmJl|YH3muF|_q- zs#q_Fzc@Fyd4H~s)wG}R(2ei%@{;4y=RZa5S8`jUV`Ivi%md$EpA@2oZx)!C{I`Ph zq(9pmoKUoHW97kM_aTmqw}j;>3_3jA;ZDoL3kEai3Y?a@G8TO)xCn;9=7Bq^dyKx= zKWSlM9=r1=I7Wi?NR3+-5oz|Klom+p^{;fXH^o8k}H{6Dn4Wmr{RyEcrXq9C9MNC>Euba#nL zcXxMpm!OEm0tFVZKtQ^rySq!e8>GAY8}oji``P#2?>@fo$9KFx@ZgXYbB=k9^E%IK zTp?^s@g~Sm>2xRLI+5QAwNAYNsZ5zqoy^4D{XWK*6}<&shby8#U-aIe#q1{f`78!6 zA5ijC6X^IjV7`0$yR+a^(*fhL$b^%GffErD@PnSEx_7oO7K_zv$nvQrbgEB{n}2Db zT)kNS`sp&hQ4hIUSVzd(x|eV$i@G&FkWi_wKerM15yQ!ucy6cHbJTu=auG*;Q_udL z=04Z?loI`~=t_=Mv*qUA!(HO+$aZj}kT(G~)phkh&kjal7l)mci7#KiM1m470}ic! zywkO^LVxSIC~T3iHZZF9)T{K@79JtKZ$?h=5enw~*4kN7@&5dslF}00!4{;kP2i*- zAeow(m72aw`a3heYFxg+MhE!?D#Ke%&8I*wMRq4ndo(w$*zXnEU}fhBp>{V9lNgQA zNsTxmHRu%&~pcNdBCx?wP34U)68yw>f50L-wI`=wJa& zL)6gF0G3fgfGrf*JLdl`$h1ktEX7!Y1g9K*w{dM<&%^8b9G+K)=()O zSUkV})#kxLEEbc#4{nv?k{Q|A;^x-jv9Uo)Im%+YW3|S0tz^G|&S?TKg36MCgI1@r zQqI>#2cHKGW<5DMfd;OQ{!$}l+x9tFegyU-y>`u;XDGyB0n?g=Vv5?@#J!3cOhbzu z9im_pF0ZZ{bVX9lAD$N!7B)^4o1|GoEuHJUF5l_skXTz=bJ{O|)nv{{O$8932Usj4 z;63S5aZqz`02t-;v1k&+wJb?#2aF@pMay?SLiML*Wn}h%?^LHzF%2klQOld-X}^Y)b?ivs^VQ~*4k3&=gf z$P_v!>dt_CX5d23&d|MGv&PsdR! zEgeaXe}VLdD(k(Q6CbzJ;60>={@7o_s{ASw=aOqVZiAeW zYVDuY)PXYaKk>Y9Wcl;@Qm*t}m28x>68Vngbf&qt_p>*}2}TDny@TtQCH>M|alH@X zdX3Ag5%#`sKZfyNJPg1jvEI9FY5Cyl=GF-81q$}vMMi%5kMHhx-ATHs}l|AH4KOd)|dJ3blnZAEBnzs>0UO)2nda zCICzxC$wJnO{!LYKW=JT+5#XwShp�@iXrvEN3H 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 T9~uP*{=Io6FHt1+?$iGVaY)az diff --git a/src/Doc/JEdit/document/scope1.png b/src/Doc/JEdit/document/scope1.png index 613d00f9f60453fd308f98a49e6630a20ad7f091..d336022793af506bdee06def4bb2c3f89d1e100c GIT binary patch literal 62736 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

    Z>hB$wYr|;`m>; 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 diff --git a/src/Doc/JEdit/document/scope2.png b/src/Doc/JEdit/document/scope2.png index 601d4b11419ec88ac188eb96299324cd1b1ee169..4f669a45386df7c96894e822e29f7c7498ba6991 GIT binary patch literal 55224 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 diff --git a/src/Doc/JEdit/document/sidekick-document.png b/src/Doc/JEdit/document/sidekick-document.png index 10173aeb4c1e6e0dee0e17927376d96d9e3a3b2c..f4844ed3975701cafa1cbdeb038f25056afe54fc GIT binary patch literal 157804 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%0AQ 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 diff --git a/src/Doc/JEdit/document/sledgehammer.png b/src/Doc/JEdit/document/sledgehammer.png index 1771b615d266f577e4e123b8e7fd5d47caa4042d..ef998c3a3307529fea0a7d09bb03b113d5fca457 GIT binary patch literal 102671 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 z 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�)6yd`pLI9>E@n)aCA6gVQW(m@e!J7{%ZcW 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

    ", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\

    ", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\

    ", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\
    ", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", (*"\", sic!*) "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\" ]; in val is_letter_symbol = Symtab.defined letter_symbols; end; datatype kind = Letter | Digit | Quasi | Blank | Other; fun kind s = if is_ascii_letter s then Letter else if is_ascii_digit s then Digit else if is_ascii_quasi s then Quasi else if is_ascii_blank s then Blank else if is_char s then Other else if is_letter_symbol s then Letter else Other; fun is_letter s = kind s = Letter; fun is_digit s = kind s = Digit; fun is_quasi s = kind s = Quasi; fun is_blank s = kind s = Blank; val is_block_ctrl = member (op =) ["\<^bsub>", "\<^esub>", "\<^bsup>", "\<^esup>"]; +val has_block_ctrl = exists is_block_ctrl; fun is_quasi_letter s = let val k = kind s in k = Letter orelse k = Quasi end; fun is_letdig s = let val k = kind s in k = Letter orelse k = Digit orelse k = Quasi end; (* escape *) val esc = fn s => if is_char s then s else if is_utf8 s then translate_string (fn c => "\\" ^ string_of_int (ord c)) s else "\\" ^ s; val escape = implode o map esc o Symbol.explode; (** scanning through symbols **) (* scanner *) fun scanner msg scan syms = let fun message (ss, NONE) = (fn () => msg ^ ": " ^ quote (beginning 10 ss)) | message (ss, SOME msg') = (fn () => msg ^ ", " ^ msg' () ^ ": " ^ quote (beginning 10 ss)); val finite_scan = Scan.error (Scan.finite stopper (!! message scan)); in (case finite_scan syms of (result, []) => result | (_, rest) => error (message (rest, NONE) ())) end; (* space-separated words *) val scan_word = Scan.many1 is_ascii_blank >> K NONE || Scan.many1 (fn s => not (is_ascii_blank s) andalso not_eof s) >> (SOME o implode); val split_words = scanner "Bad text" (Scan.repeat scan_word >> map_filter I); val explode_words = split_words o Symbol.explode; (* blanks *) val trim_blanks = Symbol.explode #> trim is_blank #> implode; (* bump string -- treat as base 26 or base 1 numbers *) fun symbolic_end (_ :: "\<^sub>" :: _) = true | symbolic_end ("'" :: ss) = symbolic_end ss | symbolic_end (s :: _) = raw_symbolic s | symbolic_end [] = false; fun bump_init str = if symbolic_end (rev (Symbol.explode str)) then str ^ "'" else str ^ "a"; fun bump_string str = let fun bump [] = ["a"] | bump ("z" :: ss) = "a" :: bump ss | bump (s :: ss) = if is_char s andalso Char.ord #"a" <= ord s andalso ord s < Char.ord #"z" then chr (ord s + 1) :: ss else "a" :: s :: ss; val (ss, qs) = apfst rev (chop_suffix is_quasi (Symbol.explode str)); val ss' = if symbolic_end ss then "'" :: ss else bump ss; in implode (rev ss' @ qs) end; (* styles *) val sub = "\092<^sub>"; val sup = "\092<^sup>"; val bold = "\092<^bold>"; fun make_style sym = Symbol.explode #> maps (fn s => [sym, s]) #> implode; val make_sub = make_style sub; val make_sup = make_style sup; val make_bold = make_style bold; (** symbol output **) (* length *) fun sym_len s = if String.isPrefix "\092 fn n => sym_len s + n) ss 0; fun output s = (s, sym_length (Symbol.explode s)); (*final declarations of this structure!*) val explode = Symbol.explode; val length = sym_length; end; diff --git a/src/Pure/Syntax/lexicon.ML b/src/Pure/Syntax/lexicon.ML --- a/src/Pure/Syntax/lexicon.ML +++ b/src/Pure/Syntax/lexicon.ML @@ -1,487 +1,496 @@ (* Title: Pure/Syntax/lexicon.ML Author: Tobias Nipkow and Markus Wenzel, TU Muenchen Lexer for the inner Isabelle syntax (terms and types). *) signature LEXICON = sig structure Syntax: sig val const: string -> term val free: string -> term val var: indexname -> term end val scan_id: Symbol_Pos.T list scanner val scan_longid: Symbol_Pos.T list scanner val scan_tid: Symbol_Pos.T list scanner val scan_hex: Symbol_Pos.T list scanner val scan_bin: Symbol_Pos.T list scanner val scan_var: Symbol_Pos.T list scanner val scan_tvar: Symbol_Pos.T list scanner val is_tid: string -> bool datatype token_kind = Literal | Ident | Long_Ident | Var | Type_Ident | Type_Var | Num | Float | Str | String | Cartouche | Space | Comment of Comment.kind | Dummy | EOF eqtype token val kind_of_token: token -> token_kind val str_of_token: token -> string val pos_of_token: token -> Position.T val end_pos_of_token: token -> Position.T val is_proper: token -> bool val dummy: token val literal: string -> token val is_literal: token -> bool val tokens_match_ord: token ord val mk_eof: Position.T -> token val eof: token val is_eof: token -> bool val stopper: token Scan.stopper val terminals: string list val is_terminal: string -> bool val get_terminal: string -> token option - val literal_markup: string -> Markup.T - val report_of_token: token -> Position.report + val suppress_literal_markup: string -> bool + val suppress_markup: token -> bool + val literal_markup: string -> Markup.T list + val reports_of_token: token -> Position.report list val reported_token_range: Proof.context -> token -> string val valued_token: token -> bool val implode_string: Symbol.symbol list -> string val explode_string: string * Position.T -> Symbol_Pos.T list val implode_str: Symbol.symbol list -> string val explode_str: string * Position.T -> Symbol_Pos.T list val tokenize: Scan.lexicon -> bool -> Symbol_Pos.T list -> token list val read_indexname: string -> indexname val read_var: string -> term val read_variable: string -> indexname option val read_nat: string -> int option val read_int: string -> int option val read_num: string -> {radix: int, leading_zeros: int, value: int} val read_float: string -> {mant: int, exp: int} val mark_class: string -> string val unmark_class: string -> string val mark_type: string -> string val unmark_type: string -> string val mark_const: string -> string val unmark_const: string -> string val mark_fixed: string -> string val unmark_fixed: string -> string val unmark: {case_class: string -> 'a, case_type: string -> 'a, case_const: string -> 'a, case_fixed: string -> 'a, case_default: string -> 'a} -> string -> 'a val is_marked: string -> bool val dummy_type: term val fun_type: term end; structure Lexicon: LEXICON = struct (** syntactic terms **) structure Syntax = struct fun const c = Const (c, dummyT); fun free x = Free (x, dummyT); fun var xi = Var (xi, dummyT); end; (** basic scanners **) open Basic_Symbol_Pos; val err_prefix = "Inner lexical error: "; fun !!! msg = Symbol_Pos.!!! (fn () => err_prefix ^ msg); val scan_id = Symbol_Pos.scan_ident; val scan_longid = scan_id @@@ Scan.repeats1 ($$$ "." @@@ scan_id); val scan_tid = $$$ "'" @@@ scan_id; val scan_hex = $$$ "0" @@@ $$$ "x" @@@ Scan.many1 (Symbol.is_ascii_hex o Symbol_Pos.symbol); val scan_bin = $$$ "0" @@@ $$$ "b" @@@ Scan.many1 (fn (s, _) => s = "0" orelse s = "1"); val scan_num = scan_hex || scan_bin || Symbol_Pos.scan_nat; val scan_id_nat = scan_id @@@ Scan.optional ($$$ "." @@@ Symbol_Pos.scan_nat) []; val scan_var = $$$ "?" @@@ scan_id_nat; val scan_tvar = $$$ "?" @@@ $$$ "'" @@@ scan_id_nat; fun is_tid s = (case try (unprefix "'") s of SOME s' => Symbol_Pos.is_identifier s' | NONE => false); (** tokens **) (* datatype token_kind *) datatype token_kind = Literal | Ident | Long_Ident | Var | Type_Ident | Type_Var | Num | Float | Str | String | Cartouche | Space | Comment of Comment.kind | Dummy | EOF; val token_kinds = Vector.fromList [Literal, Ident, Long_Ident, Var, Type_Ident, Type_Var, Num, Float, Str, String, Cartouche, Space, Comment Comment.Comment, Comment Comment.Cancel, Comment Comment.Latex, Dummy, EOF]; fun token_kind i = Vector.sub (token_kinds, i); fun token_kind_index k = #1 (the (Vector.findi (fn (_, k') => k = k') token_kinds)); (* datatype token *) datatype token = Token of int * string * Position.range; fun index_of_token (Token (i, _, _)) = i; val kind_of_token = index_of_token #> token_kind; fun str_of_token (Token (_, s, _)) = s; fun pos_of_token (Token (_, _, (pos, _))) = pos; fun end_pos_of_token (Token (_, _, (_, end_pos))) = end_pos; val is_proper = kind_of_token #> (fn Space => false | Comment _ => false | _ => true); val dummy = Token (token_kind_index Dummy, "", Position.no_range); (* literals *) val literal_index = token_kind_index Literal; fun literal s = Token (literal_index, s, Position.no_range); fun is_literal tok = index_of_token tok = literal_index; fun tokens_match_ord toks = let val is = apply2 index_of_token toks in (case int_ord is of EQUAL => if #1 is = literal_index then fast_string_ord (apply2 str_of_token toks) else EQUAL | ord => ord) end; (* stopper *) val eof_index = token_kind_index EOF; fun mk_eof pos = Token (eof_index, "", (pos, Position.none)); val eof = mk_eof Position.none; fun is_eof tok = index_of_token tok = eof_index; val stopper = Scan.stopper (K eof) is_eof; (* terminal symbols *) val terminal_symbols = [("id", Ident), ("longid", Long_Ident), ("var", Var), ("tid", Type_Ident), ("tvar", Type_Var), ("num_token", Num), ("float_token", Float), ("str_token", Str), ("string_token", String), ("cartouche", Cartouche)] |> map (apsnd token_kind_index) |> Symtab.make; val terminals = Symtab.keys terminal_symbols; val is_terminal = Symtab.defined terminal_symbols; fun get_terminal s = (case Symtab.lookup terminal_symbols s of SOME i => SOME (Token (i, s, Position.no_range)) | NONE => NONE); (* markup *) +val suppress_literal_markup = Symbol.has_block_ctrl o Symbol.explode; +fun suppress_markup tok = is_literal tok andalso suppress_literal_markup (str_of_token tok); + fun literal_markup s = - if Symbol.is_ascii_identifier s orelse exists Symbol.is_letter (Symbol.explode s) - then Markup.literal - else Markup.delimiter; + let val syms = Symbol.explode s in + if Symbol.has_block_ctrl syms then [] + else if Symbol.is_ascii_identifier s orelse exists Symbol.is_letter syms + then [Markup.literal] + else [Markup.delimiter] + end; val token_kind_markup = - fn Type_Ident => Markup.tfree - | Type_Var => Markup.tvar - | Num => Markup.numeral - | Float => Markup.numeral - | Str => Markup.inner_string - | String => Markup.inner_string - | Cartouche => Markup.inner_cartouche - | Comment _ => Markup.comment1 - | _ => Markup.empty; + fn Type_Ident => [Markup.tfree] + | Type_Var => [Markup.tvar] + | Num => [Markup.numeral] + | Float => [Markup.numeral] + | Str => [Markup.inner_string] + | String => [Markup.inner_string] + | Cartouche => [Markup.inner_cartouche] + | Comment _ => [Markup.comment1] + | _ => []; -fun report_of_token tok = +fun reports_of_token tok = let - val markup = + val pos = pos_of_token tok; + val markups = if is_literal tok then literal_markup (str_of_token tok) else token_kind_markup (kind_of_token tok); - in (pos_of_token tok, markup) end; + in map (pair pos) markups end; fun reported_token_range ctxt tok = if is_proper tok then Context_Position.reported_text ctxt (pos_of_token tok) Markup.token_range "" else ""; (* valued_token *) fun valued_token tok = not (is_literal tok orelse is_eof tok); (** string literals **) fun explode_literal scan_body (str, pos) = (case Scan.read Symbol_Pos.stopper scan_body (Symbol_Pos.explode (str, pos)) of SOME ss => ss | _ => error (err_prefix ^ "malformed string literal " ^ quote str ^ Position.here pos)); (* string *) val scan_string = Scan.trace (Symbol_Pos.scan_string_qq err_prefix) >> #2; val scan_string_body = Symbol_Pos.scan_string_qq err_prefix >> (#1 o #2); fun implode_string ss = quote (implode (map (fn "\"" => "\\\"" | s => s) ss)); val explode_string = explode_literal scan_string_body; (* str *) val scan_chr = $$ "\\" |-- $$$ "'" || Scan.one ((fn s => s <> "\\" andalso s <> "'" andalso Symbol.not_eof s) o Symbol_Pos.symbol) >> single || $$$ "'" --| Scan.ahead (~$$ "'"); val scan_str = Scan.ahead ($$ "'" -- $$ "'") |-- !!! "unclosed string literal" ($$$ "'" @@@ $$$ "'" @@@ Scan.repeats scan_chr @@@ $$$ "'" @@@ $$$ "'"); val scan_str_body = Scan.ahead ($$ "'" |-- $$ "'") |-- !!! "unclosed string literal" ($$ "'" |-- $$ "'" |-- Scan.repeats scan_chr --| $$ "'" --| $$ "'"); fun implode_str ss = enclose "''" "''" (implode (map (fn "'" => "\\'" | s => s) ss)); val explode_str = explode_literal scan_str_body; (** tokenize **) val token_leq = op <= o apply2 str_of_token; fun token kind = let val i = token_kind_index kind in fn ss => Token (i, Symbol_Pos.content ss, Symbol_Pos.range ss) end; fun tokenize lex xids syms = let val scan_xid = (if xids then $$$ "_" @@@ scan_id || scan_id else scan_id) || $$$ "_" @@@ $$$ "_"; val scan_val = scan_tvar >> token Type_Var || scan_var >> token Var || scan_tid >> token Type_Ident || Symbol_Pos.scan_float >> token Float || scan_num >> token Num || scan_longid >> token Long_Ident || scan_xid >> token Ident; val scan_lit = Scan.literal lex >> token Literal; val scan = Symbol_Pos.scan_cartouche err_prefix >> token Cartouche || Comment.scan_inner >> (fn (kind, ss) => token (Comment kind) ss) || Scan.max token_leq scan_lit scan_val || scan_string >> token String || scan_str >> token Str || Scan.many1 (Symbol.is_blank o Symbol_Pos.symbol) >> token Space; in (case Scan.error (Scan.finite Symbol_Pos.stopper (Scan.repeat scan)) syms of (toks, []) => toks | (_, ss) => error ("Inner lexical error" ^ Position.here (#1 (Symbol_Pos.range ss)) ^ Markup.markup Markup.no_report ("\nat " ^ quote (Symbol_Pos.content ss)))) end; (** scan variables **) (* scan_indexname *) local val scan_vname = let fun nat n [] = n | nat n (c :: cs) = nat (n * 10 + (ord c - Char.ord #"0")) cs; fun idxname cs ds = (implode (rev cs), nat 0 ds); fun chop_idx [] ds = idxname [] ds | chop_idx (cs as (_ :: "\<^sub>" :: _)) ds = idxname cs ds | chop_idx (c :: cs) ds = if Symbol.is_digit c then chop_idx cs (c :: ds) else idxname (c :: cs) ds; val scan = (scan_id >> map Symbol_Pos.symbol) -- Scan.optional ($$ "." |-- Symbol_Pos.scan_nat >> (nat 0 o map Symbol_Pos.symbol)) ~1; in scan >> (fn (cs, ~1) => chop_idx (rev cs) [] | (cs, i) => (implode cs, i)) end; in val scan_indexname = $$ "'" |-- scan_vname >> (fn (x, i) => ("'" ^ x, i)) || scan_vname; end; (* indexname *) fun read_indexname s = (case Scan.read Symbol_Pos.stopper scan_indexname (Symbol_Pos.explode0 s) of SOME xi => xi | _ => error ("Lexical error in variable name: " ^ quote s)); (* read_var *) fun read_var str = let val scan = $$ "?" |-- scan_indexname --| Scan.ahead (Scan.one Symbol_Pos.is_eof) >> Syntax.var || Scan.many (Symbol.not_eof o Symbol_Pos.symbol) >> (Syntax.free o implode o map Symbol_Pos.symbol); in the (Scan.read Symbol_Pos.stopper scan (Symbol_Pos.explode0 str)) end; (* read_variable *) fun read_variable str = let val scan = $$ "?" |-- scan_indexname || scan_indexname in Scan.read Symbol_Pos.stopper scan (Symbol_Pos.explode0 str) end; (* read numbers *) local fun nat cs = Option.map (#1 o Library.read_int o map Symbol_Pos.symbol) (Scan.read Symbol_Pos.stopper Symbol_Pos.scan_nat cs); in fun read_nat s = nat (Symbol_Pos.explode0 s); fun read_int s = (case Symbol_Pos.explode0 s of ("-", _) :: cs => Option.map ~ (nat cs) | cs => nat cs); end; (* read_num: hex/bin/decimal *) local val ten = Char.ord #"0" + 10; val a = Char.ord #"a"; val A = Char.ord #"A"; val _ = a > A orelse raise Fail "Bad ASCII"; fun remap_hex c = let val x = ord c in if x >= a then chr (x - a + ten) else if x >= A then chr (x - A + ten) else c end; fun leading_zeros ["0"] = 0 | leading_zeros ("0" :: cs) = 1 + leading_zeros cs | leading_zeros _ = 0; in fun read_num str = let val (radix, digs) = (case Symbol.explode str of "0" :: "x" :: cs => (16, map remap_hex cs) | "0" :: "b" :: cs => (2, cs) | cs => (10, cs)); in {radix = radix, leading_zeros = leading_zeros digs, value = #1 (Library.read_radix_int radix digs)} end; end; fun read_float str = let val cs = Symbol.explode str; val (intpart, fracpart) = (case chop_prefix Symbol.is_digit cs of (intpart, "." :: fracpart) => (intpart, fracpart) | _ => raise Fail "read_float"); in {mant = #1 (Library.read_int (intpart @ fracpart)), exp = length fracpart} end; (* marked logical entities *) fun marker s = (prefix s, unprefix s); val (mark_class, unmark_class) = marker "\<^class>"; val (mark_type, unmark_type) = marker "\<^type>"; val (mark_const, unmark_const) = marker "\<^const>"; val (mark_fixed, unmark_fixed) = marker "\<^fixed>"; fun unmark {case_class, case_type, case_const, case_fixed, case_default} s = (case try unmark_class s of SOME c => case_class c | NONE => (case try unmark_type s of SOME c => case_type c | NONE => (case try unmark_const s of SOME c => case_const c | NONE => (case try unmark_fixed s of SOME c => case_fixed c | NONE => case_default s)))); val is_marked = unmark {case_class = K true, case_type = K true, case_const = K true, case_fixed = K true, case_default = K false}; val dummy_type = Syntax.const (mark_type "dummy"); val fun_type = Syntax.const (mark_type "fun"); (* toplevel pretty printing *) val _ = ML_system_pp (fn _ => fn _ => Pretty.to_polyml o Pretty.str_list "{" "}" o map quote o Scan.dest_lexicon); end; diff --git a/src/Pure/Syntax/printer.ML b/src/Pure/Syntax/printer.ML --- a/src/Pure/Syntax/printer.ML +++ b/src/Pure/Syntax/printer.ML @@ -1,307 +1,307 @@ (* Title: Pure/Syntax/printer.ML Author: Tobias Nipkow and Markus Wenzel, TU Muenchen Pretty printing of asts, terms, types and print (ast) translation. *) signature BASIC_PRINTER = sig val show_brackets: bool Config.T val show_types: bool Config.T val show_sorts: bool Config.T val show_markup: bool Config.T val show_structs: bool Config.T val show_question_marks: bool Config.T val pretty_priority: int Config.T end; signature PRINTER = sig include BASIC_PRINTER val show_markup_default: bool Unsynchronized.ref val show_type_emphasis: bool Config.T val type_emphasis: Proof.context -> typ -> bool type prtabs datatype assoc = No_Assoc | Left_Assoc | Right_Assoc val get_prefix: prtabs -> Symtab.key -> string option val get_binder: prtabs -> Symtab.key -> string option val get_infix: prtabs -> string -> {assoc: assoc, delim: string, pri: int} option val empty_prtabs: prtabs val update_prtabs: string -> Syntax_Ext.xprod list -> prtabs -> prtabs val remove_prtabs: string -> Syntax_Ext.xprod list -> prtabs -> prtabs val merge_prtabs: prtabs -> prtabs -> prtabs val pretty_term_ast: bool -> Proof.context -> prtabs -> (string -> Proof.context -> Ast.ast list -> Ast.ast) -> (string -> Ast.ast list -> Pretty.T option) -> (string -> Markup.T list * string) -> Ast.ast -> Pretty.T list val pretty_typ_ast: Proof.context -> prtabs -> (string -> Proof.context -> Ast.ast list -> Ast.ast) -> (string -> Ast.ast list -> Pretty.T option) -> (string -> Markup.T list * string) -> Ast.ast -> Pretty.T list end; structure Printer: PRINTER = struct (** options for printing **) val show_brackets = Config.declare_option_bool ("show_brackets", \<^here>); val show_types = Config.declare_option_bool ("show_types", \<^here>); val show_sorts = Config.declare_option_bool ("show_sorts", \<^here>); val show_markup_default = Unsynchronized.ref false; val show_markup = Config.declare_bool ("show_markup", \<^here>) (fn _ => ! show_markup_default); val show_structs = Config.declare_bool ("show_structs", \<^here>) (K false); val show_question_marks = Config.declare_option_bool ("show_question_marks", \<^here>); val show_type_emphasis = Config.declare_bool ("show_type_emphasis", \<^here>) (K true); fun type_emphasis ctxt T = T <> dummyT andalso (Config.get ctxt show_types orelse Config.get ctxt show_markup orelse Config.get ctxt show_type_emphasis andalso not (is_Type T)); (** type prtabs **) datatype symb = Arg of int | TypArg of int | String of bool * string | Break of int | Block of Syntax_Ext.block_info * symb list; type prtabs = (string * ((symb list * int * int) list) Symtab.table) list; fun mode_tab (prtabs: prtabs) mode = the_default Symtab.empty (AList.lookup (op =) prtabs mode); fun mode_tabs (prtabs: prtabs) modes = map_filter (AList.lookup (op =) prtabs) (modes @ [""]); fun lookup_default prtabs = Symtab.lookup_list (mode_tab prtabs ""); (* approximative syntax *) datatype assoc = No_Assoc | Left_Assoc | Right_Assoc; local fun is_arg (Arg _) = true | is_arg (TypArg _) = true | is_arg _ = false; fun is_space str = forall_string (fn s => s = " ") str; fun clean symbs = symbs |> maps (fn Block (_, body) => clean body | symb as String (_, s) => if is_space s then [] else [symb] | symb => if is_arg symb then [symb] else []); in fun get_prefix prtabs c = lookup_default prtabs c |> get_first (fn (symbs, _, _) => (case clean symbs of String (_, d) :: rest => if forall is_arg rest then SOME d else NONE | _ => NONE)); fun get_binder prtabs c = lookup_default prtabs (Mixfix.binder_name c) |> get_first (fn (symbs, _, _) => (case clean symbs of String (_, d) :: _ => SOME d | _ => NONE)); fun get_infix prtabs c = lookup_default prtabs c |> map_filter (fn (symbs, _, p) => (case clean symbs of [Arg p1, String (_, d), Arg p2] => SOME (p1, p2, d, p) | [TypArg p1, String (_, d), TypArg p2] => SOME (p1, p2, d, p) | _ => NONE)) |> get_first (fn (p1, p2, d, p) => if p1 = p + 1 andalso p2 = p + 1 then SOME {assoc = No_Assoc, delim = d, pri = p} else if p1 = p andalso p2 = p + 1 then SOME {assoc = Left_Assoc, delim = d, pri = p} else if p1 = p + 1 andalso p2 = p then SOME {assoc = Right_Assoc, delim = d, pri = p} else NONE); end; (* xprod_to_fmt *) fun xprod_to_fmt (Syntax_Ext.XProd (_, _, "", _)) = NONE | xprod_to_fmt (Syntax_Ext.XProd (_, xsymbs, const, pri)) = let fun arg (s, p) = (if s = "type" then TypArg else Arg) (if Lexicon.is_terminal s then 1000 else p); fun xsyms_to_syms (Syntax_Ext.Delim s :: xsyms) = - apfst (cons (String (not (exists Symbol.is_block_ctrl (Symbol.explode s)), s))) + apfst (cons (String (not (Lexicon.suppress_literal_markup s), s))) (xsyms_to_syms xsyms) | xsyms_to_syms (Syntax_Ext.Argument s_p :: xsyms) = apfst (cons (arg s_p)) (xsyms_to_syms xsyms) | xsyms_to_syms (Syntax_Ext.Space s :: xsyms) = apfst (cons (String (false, s))) (xsyms_to_syms xsyms) | xsyms_to_syms (Syntax_Ext.Bg info :: xsyms) = let val (bsyms, xsyms') = xsyms_to_syms xsyms; val (syms, xsyms'') = xsyms_to_syms xsyms'; in (Block (info, bsyms) :: syms, xsyms'') end | xsyms_to_syms (Syntax_Ext.Brk i :: xsyms) = apfst (cons (Break i)) (xsyms_to_syms xsyms) | xsyms_to_syms (Syntax_Ext.En :: xsyms) = ([], xsyms) | xsyms_to_syms [] = ([], []); fun nargs (Arg _ :: syms) = nargs syms + 1 | nargs (TypArg _ :: syms) = nargs syms + 1 | nargs (String _ :: syms) = nargs syms | nargs (Break _ :: syms) = nargs syms | nargs (Block (_, bsyms) :: syms) = nargs syms + nargs bsyms | nargs [] = 0; in (case xsyms_to_syms xsymbs of (symbs, []) => SOME (const, (symbs, nargs symbs, pri)) | _ => raise Fail "Unbalanced pretty-printing blocks") end; (* empty, extend, merge prtabs *) val empty_prtabs = []; fun update_prtabs mode xprods prtabs = let val fmts = map_filter xprod_to_fmt xprods; val tab' = fold (Symtab.update_list (op =)) fmts (mode_tab prtabs mode); in AList.update (op =) (mode, tab') prtabs end; fun remove_prtabs mode xprods prtabs = let val tab = mode_tab prtabs mode; val fmts = map_filter (fn xprod as Syntax_Ext.XProd (_, _, c, _) => if null (Symtab.lookup_list tab c) then NONE else xprod_to_fmt xprod) xprods; val tab' = fold (Symtab.remove_list (op =)) fmts tab; in AList.update (op =) (mode, tab') prtabs end; fun merge_prtabs prtabs1 prtabs2 = let val modes = distinct (op =) (map fst (prtabs1 @ prtabs2)); fun merge m = (m, Symtab.merge_list (op =) (mode_tab prtabs1 m, mode_tab prtabs2 m)); in map merge modes end; (** pretty term or typ asts **) fun is_chain [Block (_, pr)] = is_chain pr | is_chain [Arg _] = true | is_chain _ = false; val pretty_priority = Config.declare_int ("Syntax.pretty_priority", \<^here>) (K 0); fun pretty type_mode curried ctxt tabs trf markup_trans markup_extern ast0 = let val show_brackets = Config.get ctxt show_brackets; (*default applications: prefix / postfix*) val appT = if type_mode then Syntax_Trans.tappl_ast_tr' else if curried then Syntax_Trans.applC_ast_tr' else Syntax_Trans.appl_ast_tr'; fun synT _ ([], args) = ([], args) | synT m (Arg p :: symbs, t :: args) = let val (Ts, args') = synT m (symbs, args); in (astT (t, p) @ Ts, args') end | synT m (TypArg p :: symbs, t :: args) = let val (Ts, args') = synT m (symbs, args); in if type_mode then (astT (t, p) @ Ts, args') else (pretty true curried (Config.put pretty_priority p ctxt) tabs trf markup_trans markup_extern t @ Ts, args') end | synT m (String (do_mark, s) :: symbs, args) = let val (Ts, args') = synT m (symbs, args); val T = if do_mark - then Pretty.marks_str (m @ [Lexicon.literal_markup s], s) + then Pretty.marks_str (m @ Lexicon.literal_markup s, s) else Pretty.str s; in (T :: Ts, args') end | synT m (Block ({markup, consistent, unbreakable, indent}, bsymbs) :: symbs, args) = let val (bTs, args') = synT m (bsymbs, args); val (Ts, args'') = synT m (symbs, args'); val T = Pretty.markup_block {markup = markup, consistent = consistent, indent = indent} bTs |> unbreakable ? Pretty.unbreakable; in (T :: Ts, args'') end | synT m (Break i :: symbs, args) = let val (Ts, args') = synT m (symbs, args); val T = if i < 0 then Pretty.fbrk else Pretty.brk i; in (T :: Ts, args') end and parT m (pr, args, p, p': int) = #1 (synT m (if p > p' orelse (show_brackets andalso p' <> 1000 andalso not (is_chain pr)) then [Block (Syntax_Ext.block_indent 1, String (false, "(") :: pr @ [String (false, ")")])] else pr, args)) and atomT a = Pretty.marks_str (markup_extern a) and prefixT (_, a, [], _) = [atomT a] | prefixT (c, _, args, p) = astT (appT (c, args), p) and splitT 0 ([x], ys) = (x, ys) | splitT 0 (rev_xs, ys) = (Ast.Appl (rev rev_xs), ys) | splitT n (rev_xs, y :: ys) = splitT (n - 1) (y :: rev_xs, ys) and combT (tup as (c, a, args, p)) = let val nargs = length args; (*find matching table entry, or print as prefix / postfix*) fun prnt ([], []) = prefixT tup | prnt ([], tb :: tbs) = prnt (Symtab.lookup_list tb a, tbs) | prnt ((pr, n, p') :: prnps, tbs) = if nargs = n then parT (#1 (markup_extern a)) (pr, args, p, p') else if nargs > n andalso not type_mode then astT (appT (splitT n ([c], args)), p) else prnt (prnps, tbs); in (case markup_trans a args of SOME prt => [prt] | NONE => astT (trf a ctxt args, p) handle Match => prnt ([], tabs)) end and astT (c as Ast.Constant a, p) = combT (c, a, [], p) | astT (ast as Ast.Variable _, _) = [Ast.pretty_ast ast] | astT (Ast.Appl ((c as Ast.Constant a) :: (args as _ :: _)), p) = combT (c, a, args, p) | astT (Ast.Appl (f :: (args as _ :: _)), p) = astT (appT (f, args), p) | astT (ast as Ast.Appl _, _) = raise Ast.AST ("pretty: malformed ast", [ast]); in astT (ast0, Config.get ctxt pretty_priority) end; (* pretty_term_ast *) fun pretty_term_ast curried ctxt prtabs trf markup_trans extern ast = pretty false curried ctxt (mode_tabs prtabs (print_mode_value ())) trf markup_trans extern ast; (* pretty_typ_ast *) fun pretty_typ_ast ctxt prtabs trf markup_trans extern ast = pretty true false ctxt (mode_tabs prtabs (print_mode_value ())) trf markup_trans extern ast; end; structure Basic_Printer: BASIC_PRINTER = Printer; open Basic_Printer; diff --git a/src/Pure/Syntax/syntax_phases.ML b/src/Pure/Syntax/syntax_phases.ML --- a/src/Pure/Syntax/syntax_phases.ML +++ b/src/Pure/Syntax/syntax_phases.ML @@ -1,1017 +1,1021 @@ (* Title: Pure/Syntax/syntax_phases.ML Author: Makarius Main phases of inner syntax processing, with standard implementations of parse/unparse operations. *) signature SYNTAX_PHASES = sig val reports_of_scope: Position.T list -> Position.report list val decode_sort: term -> sort val decode_typ: term -> typ val decode_term: Proof.context -> Position.report_text list * term Exn.result -> Position.report_text list * term Exn.result val parse_ast_pattern: Proof.context -> string * string -> Ast.ast val term_of_typ: Proof.context -> typ -> term val print_checks: Proof.context -> unit val typ_check: int -> string -> (Proof.context -> typ list -> typ list) -> Context.generic -> Context.generic val term_check: int -> string -> (Proof.context -> term list -> term list) -> Context.generic -> Context.generic val typ_uncheck: int -> string -> (Proof.context -> typ list -> typ list) -> Context.generic -> Context.generic val term_uncheck: int -> string -> (Proof.context -> term list -> term list) -> Context.generic -> Context.generic val typ_check': int -> string -> (typ list -> Proof.context -> (typ list * Proof.context) option) -> Context.generic -> Context.generic val term_check': int -> string -> (term list -> Proof.context -> (term list * Proof.context) option) -> Context.generic -> Context.generic val typ_uncheck': int -> string -> (typ list -> Proof.context -> (typ list * Proof.context) option) -> Context.generic -> Context.generic val term_uncheck': int -> string -> (term list -> Proof.context -> (term list * Proof.context) option) -> Context.generic -> Context.generic end structure Syntax_Phases: SYNTAX_PHASES = struct (** markup logical entities **) fun markup_class ctxt c = [Name_Space.markup (Type.class_space (Proof_Context.tsig_of ctxt)) c]; fun markup_type ctxt c = [Name_Space.markup (Type.type_space (Proof_Context.tsig_of ctxt)) c]; fun markup_const ctxt c = [Name_Space.markup (Consts.space_of (Proof_Context.consts_of ctxt)) c]; fun markup_free ctxt x = Variable.markup ctxt x :: (if Variable.is_body ctxt orelse Variable.is_fixed ctxt x then [Variable.markup_fixed ctxt x] else []); fun markup_var xi = [Markup.name (Term.string_of_vname xi) Markup.var]; fun markup_bound def ps (name, id) = let val entity = Markup.entity Markup.boundN name in Markup.bound :: map (fn pos => Markup.properties (Position.entity_properties_of def id pos) entity) ps end; fun markup_entity ctxt c = (case Syntax.lookup_const (Proof_Context.syn_of ctxt) c of SOME "" => [] | SOME b => markup_entity ctxt b | NONE => c |> Lexicon.unmark {case_class = markup_class ctxt, case_type = markup_type ctxt, case_const = markup_const ctxt, case_fixed = markup_free ctxt, case_default = K []}); (** reports of implicit variable scope **) fun reports_of_scope [] = [] | reports_of_scope (def_pos :: ps) = let val id = serial (); fun entity def = (Markup.entityN, Position.entity_properties_of def id def_pos); in map (rpair Markup.bound) (def_pos :: ps) @ ((def_pos, entity true) :: map (rpair (entity false)) ps) end; (** decode parse trees **) (* decode_sort *) fun decode_sort tm = let fun err () = raise TERM ("decode_sort: bad encoding of classes", [tm]); fun class s = Lexicon.unmark_class s handle Fail _ => err (); fun classes (Const (s, _)) = [class s] | classes (Const ("_classes", _) $ Const (s, _) $ cs) = class s :: classes cs | classes _ = err (); fun sort (Const ("_dummy_sort", _)) = dummyS | sort (Const ("_topsort", _)) = [] | sort (Const ("_sort", _) $ cs) = classes cs | sort (Const (s, _)) = [class s] | sort _ = err (); in sort tm end; (* decode_typ *) fun decode_pos (Free (s, _)) = if is_some (Term_Position.decode s) then SOME s else NONE | decode_pos _ = NONE; fun decode_typ tm = let fun err () = raise TERM ("decode_typ: bad encoding of type", [tm]); fun typ ps sort tm = (case tm of Const ("_tfree", _) $ t => typ ps sort t | Const ("_tvar", _) $ t => typ ps sort t | Const ("_ofsort", _) $ t $ s => (case decode_pos s of SOME p => typ (p :: ps) sort t | NONE => if is_none sort then typ ps (SOME (decode_sort s)) t else err ()) | Const ("_dummy_ofsort", _) $ s => TFree ("'_dummy_", decode_sort s) | Free (x, _) => TFree (x, ps @ the_default dummyS sort) | Var (xi, _) => TVar (xi, ps @ the_default dummyS sort) | _ => if null ps andalso is_none sort then let val (head, args) = Term.strip_comb tm; val a = (case head of Const (c, _) => (Lexicon.unmark_type c handle Fail _ => err ()) | _ => err ()); in Type (a, map (typ [] NONE) args) end else err ()); in typ [] NONE tm end; (* parsetree_to_ast *) fun parsetree_to_ast ctxt trf parsetree = let val reports = Unsynchronized.ref ([]: Position.report_text list); fun report pos = Position.store_reports reports [pos]; val append_reports = Position.append_reports reports; + fun report_pos tok = + if Lexicon.suppress_markup tok then Position.none + else Lexicon.pos_of_token tok; + fun trans a args = (case trf a of NONE => Ast.mk_appl (Ast.Constant a) args | SOME f => f ctxt args); fun asts_of_token tok = if Lexicon.valued_token tok then [Ast.Variable (Lexicon.str_of_token tok)] else []; fun ast_of_position tok = - Ast.Variable (Term_Position.encode (Lexicon.pos_of_token tok)); + Ast.Variable (Term_Position.encode (report_pos tok)); fun ast_of_dummy a tok = Ast.Appl [Ast.Constant "_constrain", Ast.Constant a, ast_of_position tok]; fun asts_of_position c tok = [Ast.Appl [Ast.Constant c, ast_of (Parser.Tip tok), ast_of_position tok]] and asts_of (Parser.Node ("_class_name", [Parser.Tip tok])) = let - val pos = Lexicon.pos_of_token tok; + val pos = report_pos tok; val (c, rs) = Proof_Context.check_class ctxt (Lexicon.str_of_token tok, pos); val _ = append_reports rs; in [Ast.Constant (Lexicon.mark_class c)] end | asts_of (Parser.Node ("_type_name", [Parser.Tip tok])) = let - val pos = Lexicon.pos_of_token tok; + val pos = report_pos tok; val (Type (c, _), rs) = Proof_Context.check_type_name {proper = true, strict = false} ctxt (Lexicon.str_of_token tok, pos); val _ = append_reports rs; in [Ast.Constant (Lexicon.mark_type c)] end | asts_of (Parser.Node ("_position", [Parser.Tip tok])) = asts_of_position "_constrain" tok | asts_of (Parser.Node ("_position_sort", [Parser.Tip tok])) = asts_of_position "_ofsort" tok | asts_of (Parser.Node (a as "\<^const>Pure.dummy_pattern", [Parser.Tip tok])) = [ast_of_dummy a tok] | asts_of (Parser.Node (a as "_idtdummy", [Parser.Tip tok])) = [ast_of_dummy a tok] | asts_of (Parser.Node ("_idtypdummy", pts as [Parser.Tip tok, _, _])) = [Ast.Appl (Ast.Constant "_constrain" :: ast_of_dummy "_idtdummy" tok :: maps asts_of pts)] | asts_of (Parser.Node (a, pts)) = let val _ = pts |> List.app (fn Parser.Node _ => () | Parser.Tip tok => if Lexicon.valued_token tok then () - else report (Lexicon.pos_of_token tok) (markup_entity ctxt) a); + else report (report_pos tok) (markup_entity ctxt) a); in [trans a (maps asts_of pts)] end | asts_of (Parser.Tip tok) = asts_of_token tok and ast_of pt = (case asts_of pt of [ast] => ast | asts => raise Ast.AST ("parsetree_to_ast: malformed parsetree", asts)); val ast = Exn.interruptible_capture ast_of parsetree; in (! reports, ast) end; (* ast_to_term *) fun ast_to_term ctxt trf = let fun trans a args = (case trf a of NONE => Term.list_comb (Syntax.const a, args) | SOME f => f ctxt args); fun term_of (Ast.Constant a) = trans a [] | term_of (Ast.Variable x) = Lexicon.read_var x | term_of (Ast.Appl (Ast.Constant a :: (asts as _ :: _))) = trans a (map term_of asts) | term_of (Ast.Appl (ast :: (asts as _ :: _))) = Term.list_comb (term_of ast, map term_of asts) | term_of (ast as Ast.Appl _) = raise Ast.AST ("ast_to_term: malformed ast", [ast]); in term_of end; (* decode_term -- transform parse tree into raw term *) fun decode_const ctxt (c, ps) = let val (Const (c', _), reports) = Proof_Context.check_const {proper = true, strict = false} ctxt (c, ps); in (c', reports) end; local fun get_free ctxt x = let val fixed = Variable.lookup_fixed ctxt x; val is_const = can (decode_const ctxt) (x, []) orelse Long_Name.is_qualified x; val is_declared = is_some (Variable.def_type ctxt false (x, ~1)); in if Variable.is_const ctxt x then NONE else if is_some fixed then fixed else if not is_const orelse is_declared then SOME x else NONE end; in fun decode_term _ (result as (_: Position.report_text list, Exn.Exn _)) = result | decode_term ctxt (reports0, Exn.Res tm) = let val reports = Unsynchronized.ref reports0; fun report ps = Position.store_reports reports ps; val append_reports = Position.append_reports reports; fun decode ps qs bs (Const ("_constrain", _) $ t $ typ) = (case Term_Position.decode_position typ of SOME (p, T) => Type.constraint T (decode (p :: ps) qs bs t) | NONE => Type.constraint (decode_typ typ) (decode ps qs bs t)) | decode ps qs bs (Const ("_constrainAbs", _) $ t $ typ) = (case Term_Position.decode_position typ of SOME (q, T) => Type.constraint (T --> dummyT) (decode ps (q :: qs) bs t) | NONE => Type.constraint (decode_typ typ --> dummyT) (decode ps qs bs t)) | decode _ qs bs (Abs (x, T, t)) = let val id = serial (); val _ = report qs (markup_bound true qs) (x, id); in Abs (x, T, decode [] [] ((qs, (x, id)) :: bs) t) end | decode _ _ bs (t $ u) = decode [] [] bs t $ decode [] [] bs u | decode ps _ _ (Const (a, T)) = (case try Lexicon.unmark_fixed a of SOME x => (report ps (markup_free ctxt) x; Free (x, T)) | NONE => let val c = (case try Lexicon.unmark_const a of SOME c => c | NONE => #1 (decode_const ctxt (a, []))); val _ = report ps (markup_const ctxt) c; in Const (c, T) end) | decode ps _ _ (Free (a, T)) = ((Name.reject_internal (a, ps) handle ERROR msg => error (msg ^ Proof_Context.consts_completion_message ctxt (a, ps))); (case get_free ctxt a of SOME x => (report ps (markup_free ctxt) x; Free (x, T)) | NONE => let val (c, rs) = decode_const ctxt (a, ps); val _ = append_reports rs; in Const (c, T) end)) | decode ps _ _ (Var (xi, T)) = (report ps markup_var xi; Var (xi, T)) | decode ps _ bs (t as Bound i) = (case try (nth bs) i of SOME (qs, (x, id)) => (report ps (markup_bound false qs) (x, id); t) | NONE => t); val tm' = Exn.interruptible_capture (fn () => decode [] [] [] tm) (); in (! reports, tm') end; end; (** parse **) (* results *) fun proper_results results = map_filter (fn (y, Exn.Res x) => SOME (y, x) | _ => NONE) results; fun failed_results results = map_filter (fn (y, Exn.Exn e) => SOME (y, e) | _ => NONE) results; fun report_result ctxt pos ambig_msgs results = (case (proper_results results, failed_results results) of ([], (reports, exn) :: _) => (Context_Position.reports_text ctxt reports; Exn.reraise exn) | ([(reports, x)], _) => (Context_Position.reports_text ctxt reports; x) | _ => if null ambig_msgs then error ("Parse error: ambiguous syntax" ^ Position.here pos) else error (cat_lines ambig_msgs)); (* parse raw asts *) fun parse_asts ctxt raw root (syms, pos) = let val syn = Proof_Context.syn_of ctxt; val ast_tr = Syntax.parse_ast_translation syn; val toks = Syntax.tokenize syn raw syms; - val _ = Context_Position.reports ctxt (map Lexicon.report_of_token toks); + val _ = Context_Position.reports ctxt (maps Lexicon.reports_of_token toks); val pts = Syntax.parse syn root (filter Lexicon.is_proper toks) handle ERROR msg => error (msg ^ Markup.markup_report (implode (map (Lexicon.reported_token_range ctxt) toks))); val len = length pts; val limit = Config.get ctxt Syntax.ambiguity_limit; val ambig_msgs = if len <= 1 then [] else [cat_lines (("Ambiguous input" ^ Position.here (Position.no_range_position pos) ^ " produces " ^ string_of_int len ^ " parse trees" ^ (if len <= limit then "" else " (" ^ string_of_int limit ^ " displayed)") ^ ":") :: map (Pretty.string_of o Pretty.item o single o Parser.pretty_parsetree) (take limit pts))]; in (ambig_msgs, map (parsetree_to_ast ctxt ast_tr) pts) end; fun parse_tree ctxt root input = let val syn = Proof_Context.syn_of ctxt; val tr = Syntax.parse_translation syn; val parse_rules = Syntax.parse_rules syn; val (ambig_msgs, asts) = parse_asts ctxt false root input; val results = (map o apsnd o Exn.maps_res) (Ast.normalize ctxt parse_rules #> Exn.interruptible_capture (ast_to_term ctxt tr)) asts; in (ambig_msgs, results) end; (* parse logical entities *) fun parse_failed ctxt pos msg kind = cat_error msg ("Failed to parse " ^ kind ^ Markup.markup_report (Context_Position.reported_text ctxt pos (Markup.bad ()) "")); fun parse_sort ctxt = Syntax.parse_input ctxt Term_XML.Decode.sort Markup.language_sort (fn (syms, pos) => parse_tree ctxt "sort" (syms, pos) |> uncurry (report_result ctxt pos) |> decode_sort |> Type.minimize_sort (Proof_Context.tsig_of ctxt) handle ERROR msg => parse_failed ctxt pos msg "sort"); fun parse_typ ctxt = Syntax.parse_input ctxt Term_XML.Decode.typ Markup.language_type (fn (syms, pos) => parse_tree ctxt "type" (syms, pos) |> uncurry (report_result ctxt pos) |> decode_typ handle ERROR msg => parse_failed ctxt pos msg "type"); fun parse_term is_prop ctxt = let val (markup, kind, root, constrain) = if is_prop then (Markup.language_prop, "prop", "prop", Type.constraint propT) else (Markup.language_term, "term", Config.get ctxt Syntax.root, I); val decode = constrain o Term_XML.Decode.term (Proof_Context.consts_of ctxt); in Syntax.parse_input ctxt decode markup (fn (syms, pos) => let val (ambig_msgs, results) = parse_tree ctxt root (syms, pos) ||> map (decode_term ctxt); val parsed_len = length (proper_results results); val ambiguity_warning = Config.get ctxt Syntax.ambiguity_warning; val limit = Config.get ctxt Syntax.ambiguity_limit; (*brute-force disambiguation via type-inference*) fun check t = (Syntax.check_term (Proof_Context.allow_dummies ctxt) (constrain t); Exn.Res t) handle exn as ERROR _ => Exn.Exn exn; val results' = if parsed_len > 1 then (grouped 10 (Par_List.map_name "Syntax_Phases.parse_term") o apsnd o Exn.maps_res) check results else results; val reports' = fst (hd results'); val errs = map snd (failed_results results'); val checked = map snd (proper_results results'); val checked_len = length checked; val pretty_term = Syntax.pretty_term (Config.put Printer.show_brackets true ctxt); in if checked_len = 0 then report_result ctxt pos [] [(reports', Exn.Exn (Exn.EXCEPTIONS (map ERROR ambig_msgs @ errs)))] else if checked_len = 1 then (if not (null ambig_msgs) andalso ambiguity_warning andalso Context_Position.is_visible ctxt then warning (cat_lines (ambig_msgs @ ["Fortunately, only one parse tree is well-formed and type-correct,\n\ \but you may still want to disambiguate your grammar or your input."])) else (); report_result ctxt pos [] results') else report_result ctxt pos [] [(reports', Exn.Exn (ERROR (cat_lines (ambig_msgs @ (("Ambiguous input\n" ^ string_of_int checked_len ^ " terms are type correct" ^ (if checked_len <= limit then "" else " (" ^ string_of_int limit ^ " displayed)") ^ ":") :: map (Pretty.string_of o Pretty.item o single o pretty_term) (take limit checked))))))] end handle ERROR msg => parse_failed ctxt pos msg kind) end; (* parse_ast_pattern *) fun parse_ast_pattern ctxt (root, str) = let val syn = Proof_Context.syn_of ctxt; val reports = Unsynchronized.ref ([]: Position.report_text list); fun report ps = Position.store_reports reports ps; fun decode_const ps c = (report ps (markup_entity ctxt) c; Ast.Constant c); fun decode_var ps x = (report ps (fn () => [Markup.name x Markup.free]) (); Ast.Variable x); fun decode_appl ps asts = Ast.Appl (map (decode ps) asts) and decode ps (Ast.Constant c) = decode_const ps c | decode ps (Ast.Variable x) = if is_some (Syntax.lookup_const syn x) orelse Long_Name.is_qualified x then decode_const ps x else decode_var ps x | decode ps (Ast.Appl (asts as (Ast.Constant c :: ast :: Ast.Variable x :: args))) = if member (op =) Term_Position.markers c then (case Term_Position.decode x of SOME p => Ast.mk_appl (decode (p :: ps) ast) (map (decode ps) args) | NONE => decode_appl ps asts) else decode_appl ps asts | decode ps (Ast.Appl asts) = decode_appl ps asts; val source = Syntax.read_input str; val pos = Input.pos_of source; val syms = Input.source_explode source; val ast = parse_asts ctxt true root (syms, pos) |> uncurry (report_result ctxt pos) |> decode []; val _ = Context_Position.reports_text ctxt (! reports); in ast end; (** encode parse trees **) (* term_of_sort *) fun term_of_sort S = let val class = Syntax.const o Lexicon.mark_class; fun classes [c] = class c | classes (c :: cs) = Syntax.const "_classes" $ class c $ classes cs; in if S = dummyS then Syntax.const "_dummy_sort" else (case S of [] => Syntax.const "_topsort" | [c] => class c | cs => Syntax.const "_sort" $ classes cs) end; (* term_of_typ *) fun term_of_typ ctxt ty = let val show_sorts = Config.get ctxt show_sorts orelse Config.get ctxt show_markup; fun ofsort t raw_S = if show_sorts then let val S = #2 (Term_Position.decode_positionS raw_S) in if S = dummyS then t else Syntax.const "_ofsort" $ t $ term_of_sort S end else t; fun term_of (Type (a, Ts)) = Term.list_comb (Syntax.const (Lexicon.mark_type a), map term_of Ts) | term_of (TFree (x, S)) = if is_some (Term_Position.decode x) then Syntax.free x else ofsort (Syntax.const "_tfree" $ Syntax.free x) S | term_of (TVar (xi, S)) = ofsort (Syntax.const "_tvar" $ Syntax.var xi) S; in term_of ty end; (* simple_ast_of *) fun simple_ast_of ctxt = let val tune_var = if Config.get ctxt show_question_marks then I else unprefix "?"; fun ast_of (Const (c, _)) = Ast.Constant c | ast_of (Free (x, _)) = Ast.Variable x | ast_of (Var (xi, _)) = Ast.Variable (tune_var (Term.string_of_vname xi)) | ast_of (t as _ $ _) = let val (f, args) = strip_comb t in Ast.mk_appl (ast_of f) (map ast_of args) end | ast_of (Bound i) = Ast.Appl [Ast.Constant "_loose", Ast.Variable ("B." ^ string_of_int i)] | ast_of (Abs _) = raise Fail "simple_ast_of: Abs"; in ast_of end; (* sort_to_ast and typ_to_ast *) fun ast_of_termT ctxt trf tm = let val ctxt' = Config.put show_sorts false ctxt; fun ast_of (t as Const ("_tfree", _) $ Free _) = simple_ast_of ctxt t | ast_of (t as Const ("_tvar", _) $ Var _) = simple_ast_of ctxt t | ast_of (Const (a, _)) = trans a [] | ast_of (t as _ $ _) = (case strip_comb t of (Const (a, _), args) => trans a args | (f, args) => Ast.Appl (map ast_of (f :: args))) | ast_of t = simple_ast_of ctxt t and trans a args = ast_of (trf a ctxt' dummyT args) handle Match => Ast.mk_appl (Ast.Constant a) (map ast_of args); in ast_of tm end; fun sort_to_ast ctxt trf S = ast_of_termT ctxt trf (term_of_sort S); fun typ_to_ast ctxt trf T = ast_of_termT ctxt trf (term_of_typ ctxt T); (* term_to_ast *) local fun mark_aprop tm = let fun aprop t = Syntax.const "_aprop" $ t; fun is_prop Ts t = Type_Annotation.clean (Type_Annotation.fastype_of Ts t) = propT handle TERM _ => false; fun is_term (Const ("Pure.term", _) $ _) = true | is_term _ = false; fun mark _ (t as Const _) = t | mark Ts (t as Const ("_bound", _) $ u) = if is_prop Ts u then aprop t else t | mark Ts (t as Free _) = if is_prop Ts t then aprop t else t | mark Ts (t as Var _) = if is_prop Ts t then aprop t else t | mark Ts (t as Bound _) = if is_prop Ts t then aprop t else t | mark Ts (Abs (x, T, t)) = Abs (x, T, mark (T :: Ts) t) | mark Ts (t as t1 $ (t2 as Const ("Pure.type", Type ("itself", [T])))) = if is_prop Ts t andalso not (is_term t) then Const ("_type_prop", T) $ mark Ts t1 else mark Ts t1 $ mark Ts t2 | mark Ts (t as t1 $ t2) = (if is_Const (Term.head_of t) orelse not (is_prop Ts t) then I else aprop) (mark Ts t1 $ mark Ts t2); in mark [] tm end; fun prune_types tm = let fun regard t t' seen = if Type_Annotation.is_omitted (Type_Annotation.fastype_of [] t) then (t, seen) else if member (op aconv) seen t then (t', seen) else (t, t :: seen); fun prune (t as Const _, seen) = (t, seen) | prune (t as Free (x, T), seen) = regard t (Free (x, Type_Annotation.ignore_type T)) seen | prune (t as Var (xi, T), seen) = regard t (Var (xi, Type_Annotation.ignore_type T)) seen | prune (t as Bound _, seen) = (t, seen) | prune (Abs (x, T, t), seen) = let val (t', seen') = prune (t, seen); in (Abs (x, T, t'), seen') end | prune (t1 $ t2, seen) = let val (t1', seen') = prune (t1, seen); val (t2', seen'') = prune (t2, seen'); in (t1' $ t2', seen'') end; in #1 (prune (tm, [])) end; fun mark_atoms is_syntax_const ctxt tm = let val {structs, fixes} = Syntax_Trans.get_idents ctxt; val show_structs = Config.get ctxt show_structs; fun mark ((t as Const (c, _)) $ u) = if member (op =) Pure_Thy.token_markers c then t $ u else mark t $ mark u | mark (t $ u) = mark t $ mark u | mark (Abs (x, T, t)) = Abs (x, T, mark t) | mark (t as Const (c, T)) = if is_syntax_const c then t else Const (Lexicon.mark_const c, T) | mark (t as Free (x, T)) = let val i = find_index (fn s => s = x) structs + 1 in if i = 0 andalso member (op =) fixes x then Const (Lexicon.mark_fixed x, T) else if i = 1 andalso not show_structs then Syntax.const "_struct" $ Syntax.const "_indexdefault" else Syntax.const "_free" $ t end | mark (t as Var (xi, T)) = if xi = Auto_Bind.dddot then Const ("_DDDOT", T) else Syntax.const "_var" $ t | mark a = a; in mark tm end; in fun term_to_ast is_syntax_const ctxt trf tm = let val show_types = Config.get ctxt show_types orelse Config.get ctxt show_sorts; val show_markup = Config.get ctxt show_markup; fun ast_of tm = (case strip_comb tm of (t as Abs _, ts) => Ast.mk_appl (ast_of (Syntax_Trans.abs_tr' ctxt t)) (map ast_of ts) | ((c as Const ("_free", _)), Free (x, T) :: ts) => Ast.mk_appl (constrain (c $ Syntax.free x) T) (map ast_of ts) | ((c as Const ("_var", _)), Var (xi, T) :: ts) => Ast.mk_appl (constrain (c $ Syntax.var xi) T) (map ast_of ts) | ((c as Const ("_bound", B)), Free (x, T) :: ts) => let val X = if show_markup andalso not show_types orelse B <> dummyT then T else dummyT; in Ast.mk_appl (constrain (c $ Syntax.free x) X) (map ast_of ts) end | (Const ("_idtdummy", T), ts) => Ast.mk_appl (constrain (Syntax.const "_idtdummy") T) (map ast_of ts) | (Const (c, T), ts) => trans c (Type_Annotation.smash T) ts | (t, ts) => Ast.mk_appl (simple_ast_of ctxt t) (map ast_of ts)) and trans a T args = ast_of (trf a ctxt T args) handle Match => Ast.mk_appl (Ast.Constant a) (map ast_of args) and constrain t T0 = let val T = if show_markup andalso not show_types then Type_Annotation.clean T0 else Type_Annotation.smash T0; in if (show_types orelse show_markup) andalso T <> dummyT then Ast.Appl [Ast.Constant "_constrain", simple_ast_of ctxt t, ast_of_termT ctxt trf (term_of_typ ctxt T)] else simple_ast_of ctxt t end; in tm |> mark_aprop |> show_types ? prune_types |> Variable.revert_bounds ctxt |> mark_atoms is_syntax_const ctxt |> ast_of end; end; (** unparse **) local fun free_or_skolem ctxt x = let val m = if Variable.is_fixed ctxt x orelse Syntax.is_pretty_global ctxt then Markup.fixed x else Markup.intensify; in if Name.is_skolem x then ([m, Markup.skolem], Variable.revert_fixed ctxt x) else ([m, Markup.free], x) end; fun var_or_skolem s = (case Lexicon.read_variable s of SOME (x, i) => (case try Name.dest_skolem x of NONE => (Markup.var, s) | SOME x' => (Markup.skolem, Term.string_of_vname (x', i))) | NONE => (Markup.var, s)); val typing_elem = YXML.output_markup_elem Markup.typing; val sorting_elem = YXML.output_markup_elem Markup.sorting; fun unparse_t t_to_ast prt_t markup ctxt t = let val show_markup = Config.get ctxt show_markup; val show_sorts = Config.get ctxt show_sorts; val show_types = Config.get ctxt show_types orelse show_sorts; val syn = Proof_Context.syn_of ctxt; val prtabs = Syntax.prtabs syn; val trf = Syntax.print_ast_translation syn; fun markup_extern c = (case Syntax.lookup_const syn c of SOME "" => ([], c) | SOME b => markup_extern b | NONE => c |> Lexicon.unmark {case_class = fn x => (markup_class ctxt x, Proof_Context.extern_class ctxt x), case_type = fn x => (markup_type ctxt x, Proof_Context.extern_type ctxt x), case_const = fn x => (markup_const ctxt x, Proof_Context.extern_const ctxt x), case_fixed = fn x => free_or_skolem ctxt x, case_default = fn x => ([], x)}); fun token_trans "_tfree" x = SOME (Pretty.mark_str (Markup.tfree, x)) | token_trans "_tvar" x = SOME (Pretty.mark_str (Markup.tvar, x)) | token_trans "_free" x = SOME (Pretty.marks_str (free_or_skolem ctxt x)) | token_trans "_bound" x = SOME (Pretty.mark_str (Markup.bound, x)) | token_trans "_loose" x = SOME (Pretty.mark_str (Markup.bad (), x)) | token_trans "_var" x = SOME (Pretty.mark_str (var_or_skolem x)) | token_trans "_numeral" x = SOME (Pretty.mark_str (Markup.numeral, x)) | token_trans "_inner_string" x = SOME (Pretty.mark_str (Markup.inner_string, x)) | token_trans _ _ = NONE; fun markup_trans a [Ast.Variable x] = token_trans a x | markup_trans "_constrain" [t, ty] = constrain_trans t ty | markup_trans "_idtyp" [t, ty] = constrain_trans t ty | markup_trans "_ofsort" [ty, s] = ofsort_trans ty s | markup_trans _ _ = NONE and constrain_trans t ty = if show_markup andalso not show_types then let val ((bg1, bg2), en) = typing_elem; val bg = bg1 ^ Pretty.symbolic_output (pretty_typ_ast Markup.empty ty) ^ bg2; val info = {markup = (bg, en), consistent = false, indent = 0}; in SOME (Pretty.make_block info [pretty_ast Markup.empty t]) end else NONE and ofsort_trans ty s = if show_markup andalso not show_sorts then let val ((bg1, bg2), en) = sorting_elem; val bg = bg1 ^ Pretty.symbolic_output (pretty_typ_ast Markup.empty s) ^ bg2; val info = {markup = (bg, en), consistent = false, indent = 0}; in SOME (Pretty.make_block info [pretty_typ_ast Markup.empty ty]) end else NONE and pretty_typ_ast m ast = ast |> Printer.pretty_typ_ast ctxt prtabs trf markup_trans markup_extern |> Pretty.markup m and pretty_ast m ast = ast |> prt_t ctxt prtabs trf markup_trans markup_extern |> Pretty.markup m; in t_to_ast ctxt (Syntax.print_translation syn) t |> Ast.normalize ctxt (Syntax.print_rules syn) |> pretty_ast markup end; in val unparse_sort = unparse_t sort_to_ast Printer.pretty_typ_ast (Markup.language_sort false); val unparse_typ = unparse_t typ_to_ast Printer.pretty_typ_ast (Markup.language_type false); fun unparse_term ctxt = let val thy = Proof_Context.theory_of ctxt; val syn = Proof_Context.syn_of ctxt; in unparse_t (term_to_ast (is_some o Syntax.lookup_const syn)) (Printer.pretty_term_ast (not (Pure_Thy.old_appl_syntax thy))) (Markup.language_term false) ctxt end; end; (** translations **) (* type propositions *) fun type_prop_tr' ctxt T [Const ("\<^const>Pure.sort_constraint", _)] = Syntax.const "_sort_constraint" $ term_of_typ (Config.put show_sorts true ctxt) T | type_prop_tr' ctxt T [t] = Syntax.const "_ofclass" $ term_of_typ ctxt T $ t | type_prop_tr' _ T ts = raise TYPE ("type_prop_tr'", [T], ts); (* type reflection *) fun type_tr' ctxt (Type ("itself", [T])) ts = Term.list_comb (Syntax.const "_TYPE" $ term_of_typ ctxt T, ts) | type_tr' _ _ _ = raise Match; (* type constraints *) fun type_constraint_tr' ctxt (Type ("fun", [T, _])) (t :: ts) = Term.list_comb (Syntax.const "_constrain" $ t $ term_of_typ ctxt T, ts) | type_constraint_tr' _ _ _ = raise Match; (* authentic syntax *) fun const_ast_tr intern ctxt asts = (case asts of [Ast.Appl [Ast.Constant "_constrain", Ast.Variable c, T as Ast.Variable p]] => let val pos = the_default Position.none (Term_Position.decode p); val (c', _) = decode_const ctxt (c, [pos]); val d = if intern then Lexicon.mark_const c' else c; in Ast.Appl [Ast.Constant "_constrain", Ast.Constant d, T] end | _ => raise Ast.AST ("const_ast_tr", asts)); (* setup translations *) val _ = Theory.setup (Sign.parse_ast_translation [("_context_const", const_ast_tr true), ("_context_xconst", const_ast_tr false)] #> Sign.typed_print_translation [("_type_prop", type_prop_tr'), ("\<^const>Pure.type", type_tr'), ("_type_constraint_", type_constraint_tr')]); (** check/uncheck **) (* context-sensitive (un)checking *) type key = int * bool; structure Checks = Generic_Data ( type 'a check = 'a list -> Proof.context -> ('a list * Proof.context) option; type T = ((key * ((string * typ check) * stamp) list) list * (key * ((string * term check) * stamp) list) list); val empty = ([], []); val extend = I; fun merge ((typ_checks1, term_checks1), (typ_checks2, term_checks2)) : T = (AList.join (op =) (K (Library.merge (eq_snd (op =)))) (typ_checks1, typ_checks2), AList.join (op =) (K (Library.merge (eq_snd (op =)))) (term_checks1, term_checks2)); ); fun print_checks ctxt = let fun split_checks checks = List.partition (fn ((_, un), _) => not un) checks |> apply2 (map (fn ((i, _), fs) => (i, map (fst o fst) fs)) #> sort (int_ord o apply2 fst)); fun pretty_checks kind checks = checks |> map (fn (i, names) => Pretty.block [Pretty.str (kind ^ " (stage " ^ signed_string_of_int i ^ "):"), Pretty.brk 1, Pretty.strs names]); val (typs, terms) = Checks.get (Context.Proof ctxt); val (typ_checks, typ_unchecks) = split_checks typs; val (term_checks, term_unchecks) = split_checks terms; in pretty_checks "typ_checks" typ_checks @ pretty_checks "term_checks" term_checks @ pretty_checks "typ_unchecks" typ_unchecks @ pretty_checks "term_unchecks" term_unchecks end |> Pretty.writeln_chunks; local fun context_check which (key: key) name f = Checks.map (which (AList.map_default op = (key, []) (cons ((name, f), stamp ())))); fun simple_check eq f xs ctxt = let val xs' = f ctxt xs in if eq_list eq (xs, xs') then NONE else SOME (xs', ctxt) end; in fun typ_check' stage = context_check apfst (stage, false); fun term_check' stage = context_check apsnd (stage, false); fun typ_uncheck' stage = context_check apfst (stage, true); fun term_uncheck' stage = context_check apsnd (stage, true); fun typ_check key name f = typ_check' key name (simple_check (op =) f); fun term_check key name f = term_check' key name (simple_check (op aconv) f); fun typ_uncheck key name f = typ_uncheck' key name (simple_check (op =) f); fun term_uncheck key name f = term_uncheck' key name (simple_check (op aconv) f); end; local fun check_stage fs = perhaps_loop (perhaps_apply (map uncurry fs)); fun check_all fs = perhaps_apply (map check_stage fs); fun check which uncheck ctxt0 xs0 = let val funs = which (Checks.get (Context.Proof ctxt0)) |> map_filter (fn ((i, u), fs) => if uncheck = u then SOME (i, map (snd o fst) fs) else NONE) |> Library.sort (int_ord o apply2 fst) |> map snd |> not uncheck ? map rev; in #1 (perhaps (check_all funs) (xs0, ctxt0)) end; val apply_typ_check = check fst false; val apply_term_check = check snd false; val apply_typ_uncheck = check fst true; val apply_term_uncheck = check snd true; in fun check_typs ctxt raw_tys = let val (sorting_report, tys) = Proof_Context.prepare_sortsT ctxt raw_tys; val _ = if Context_Position.reports_enabled ctxt then Output.report sorting_report else (); in tys |> apply_typ_check ctxt |> Term_Sharing.typs (Proof_Context.theory_of ctxt) end; fun check_terms ctxt raw_ts = let val (sorting_report, raw_ts') = Proof_Context.prepare_sorts ctxt raw_ts; val (ts, ps) = Type_Infer_Context.prepare_positions ctxt raw_ts'; val tys = map (Logic.mk_type o snd) ps; val (ts', tys') = ts @ tys |> apply_term_check ctxt |> chop (length ts); val typing_report = fold2 (fn (pos, _) => fn ty => if Position.is_reported pos then cons (Position.reported_text pos Markup.typing (Syntax.string_of_typ ctxt (Logic.dest_type ty))) else I) ps tys' []; val _ = if Context_Position.reports_enabled ctxt then Output.report (sorting_report @ typing_report) else (); in Term_Sharing.terms (Proof_Context.theory_of ctxt) ts' end; fun check_props ctxt = map (Type.constraint propT) #> check_terms ctxt; val uncheck_typs = apply_typ_uncheck; val uncheck_terms = apply_term_uncheck; end; (* install operations *) val _ = Theory.setup (Syntax.install_operations {parse_sort = parse_sort, parse_typ = parse_typ, parse_term = parse_term false, parse_prop = parse_term true, unparse_sort = unparse_sort, unparse_typ = unparse_typ, unparse_term = unparse_term, check_typs = check_typs, check_terms = check_terms, check_props = check_props, uncheck_typs = uncheck_typs, uncheck_terms = uncheck_terms}); end; (* standard phases *) val _ = Context.>> (Syntax_Phases.typ_check 0 "standard" Proof_Context.standard_typ_check #> Syntax_Phases.term_check 0 "standard" (fn ctxt => Type_Infer_Context.infer_types ctxt #> map (Proof_Context.expand_abbrevs ctxt)) #> Syntax_Phases.term_check 100 "standard_finish" Proof_Context.standard_term_check_finish #> Syntax_Phases.term_uncheck 0 "standard" Proof_Context.standard_term_uncheck); diff --git a/src/Pure/System/java_statistics.scala b/src/Pure/System/java_statistics.scala --- a/src/Pure/System/java_statistics.scala +++ b/src/Pure/System/java_statistics.scala @@ -1,45 +1,45 @@ /* Title: Pure/System/java_statistics.scala Author: Makarius Java runtime statistics. */ package isabelle object Java_Statistics { /* memory status */ sealed case class Memory_Status(heap_size: Long, heap_free: Long) { def heap_used: Long = (heap_size - heap_free) max 0 def heap_used_fraction: Double = if (heap_size == 0) 0.0 else heap_used.toDouble / heap_size } def memory_status(): Memory_Status = { val heap_size = Runtime.getRuntime.totalMemory() - val heap_used = heap_size - Runtime.getRuntime.freeMemory() - Memory_Status(heap_size, heap_used) + val heap_free = Runtime.getRuntime.freeMemory() + Memory_Status(heap_size, heap_free) } /* JVM statistics */ def jvm_statistics(): Properties.T = { val status = memory_status() val threads = Thread.activeCount() val workers = Isabelle_Thread.pool.getPoolSize val workers_active = Isabelle_Thread.pool.getActiveCount List( "java_heap_size" -> status.heap_size.toString, "java_heap_used" -> status.heap_used.toString, "java_threads_total" -> threads.toString, "java_workers_total" -> workers.toString, "java_workers_active" -> workers_active.toString) } } diff --git a/src/Pure/System/options.scala b/src/Pure/System/options.scala --- a/src/Pure/System/options.scala +++ b/src/Pure/System/options.scala @@ -1,454 +1,454 @@ /* Title: Pure/System/options.scala Author: Makarius System options with external string representation. */ package isabelle object Options { type Spec = (String, Option[String]) val empty: Options = new Options() /* representation */ sealed abstract class Type { def print: String = Word.lowercase(toString) } case object Bool extends Type case object Int extends Type case object Real extends Type case object String extends Type case object Unknown extends Type case class Opt( public: Boolean, pos: Position.T, name: String, typ: Type, value: String, default_value: String, description: String, section: String) { private def print(default: Boolean): String = { val x = if (default) default_value else value "option " + name + " : " + typ.print + " = " + (if (typ == Options.String) quote(x) else x) + (if (description == "") "" else "\n -- " + quote(description)) } def print: String = print(false) def print_default: String = print(true) def title(strip: String = ""): String = { val words = Word.explode('_', name) val words1 = words match { case word :: rest if word == strip => rest case _ => words } Word.implode(words1.map(Word.perhaps_capitalize)) } def unknown: Boolean = typ == Unknown } /* parsing */ private val SECTION = "section" private val PUBLIC = "public" private val OPTION = "option" private val OPTIONS = Path.explode("etc/options") private val PREFS = Path.explode("$ISABELLE_HOME_USER/etc/preferences") val options_syntax: Outer_Syntax = Outer_Syntax.empty + ":" + "=" + "--" + Symbol.comment + Symbol.comment_decoded + (SECTION, Keyword.DOCUMENT_HEADING) + (PUBLIC, Keyword.BEFORE_COMMAND) + (OPTION, Keyword.THY_DECL) val prefs_syntax: Outer_Syntax = Outer_Syntax.empty + "=" trait Parser extends Parse.Parser { val option_name: Parser[String] = atom("option name", _.is_name) val option_type: Parser[String] = atom("option type", _.is_name) val option_value: Parser[String] = opt(token("-", tok => tok.is_sym_ident && tok.content == "-")) ~ atom("nat", _.is_nat) ^^ { case s ~ n => if (s.isDefined) "-" + n else n } | atom("option value", tok => tok.is_name || tok.is_float) } private object Parser extends Parser { def comment_marker: Parser[String] = $$$("--") | $$$(Symbol.comment) | $$$(Symbol.comment_decoded) val option_entry: Parser[Options => Options] = { command(SECTION) ~! text ^^ { case _ ~ a => (options: Options) => options.set_section(a) } | opt($$$(PUBLIC)) ~ command(OPTION) ~! (position(option_name) ~ $$$(":") ~ option_type ~ $$$("=") ~ option_value ~ (comment_marker ~! text ^^ { case _ ~ x => x } | success(""))) ^^ { case a ~ _ ~ ((b, pos) ~ _ ~ c ~ _ ~ d ~ e) => (options: Options) => options.declare(a.isDefined, pos, b, c, d, e) } } val prefs_entry: Parser[Options => Options] = { option_name ~ ($$$("=") ~! option_value) ^^ { case a ~ (_ ~ b) => (options: Options) => options.add_permissive(a, b) } } def parse_file(options: Options, file_name: String, content: String, syntax: Outer_Syntax = options_syntax, parser: Parser[Options => Options] = option_entry): Options = { val toks = Token.explode(syntax.keywords, content) val ops = parse_all(rep(parser), Token.reader(toks, Token.Pos.file(file_name))) match { case Success(result, _) => result case bad => error(bad.toString) } try { (options.set_section("") /: ops) { case (opts, op) => op(opts) } } - catch { case ERROR(msg) => error(msg + Position.File(file_name)) } + catch { case ERROR(msg) => error(msg + Position.here(Position.File(file_name))) } } def parse_prefs(options: Options, content: String): Options = parse_file(options, PREFS.file_name, content, syntax = prefs_syntax, parser = prefs_entry) } def read_prefs(file: Path = PREFS): String = if (file.is_file) File.read(file) else "" def init(prefs: String = read_prefs(PREFS), opts: List[String] = Nil): Options = { var options = empty for { dir <- Isabelle_System.components() file = dir + OPTIONS if file.is_file } { options = Parser.parse_file(options, file.implode, File.read(file)) } (Options.Parser.parse_prefs(options, prefs) /: opts)(_ + _) } /* encode */ val encode: XML.Encode.T[Options] = (options => options.encode) /* Isabelle tool wrapper */ val isabelle_tool = Isabelle_Tool("options", "print Isabelle system options", Scala_Project.here, args => { var build_options = false var get_option = "" var list_options = false var export_file = "" val getopts = Getopts(""" Usage: isabelle options [OPTIONS] [MORE_OPTIONS ...] Options are: -b include $ISABELLE_BUILD_OPTIONS -g OPTION get value of OPTION -l list options -x FILE export options to FILE in YXML format Report Isabelle system options, augmented by MORE_OPTIONS given as arguments NAME=VAL or NAME. """, "b" -> (_ => build_options = true), "g:" -> (arg => get_option = arg), "l" -> (_ => list_options = true), "x:" -> (arg => export_file = arg)) val more_options = getopts(args) if (get_option == "" && !list_options && export_file == "") getopts.usage() val options = { val options0 = Options.init() val options1 = if (build_options) (options0 /: Word.explode(Isabelle_System.getenv("ISABELLE_BUILD_OPTIONS")))(_ + _) else options0 (options1 /: more_options)(_ + _) } if (get_option != "") Output.writeln(options.check_name(get_option).value, stdout = true) if (export_file != "") File.write(Path.explode(export_file), YXML.string_of_body(options.encode)) if (get_option == "" && export_file == "") Output.writeln(options.print, stdout = true) }) } final class Options private( val options: Map[String, Options.Opt] = Map.empty, val section: String = "") { override def toString: String = options.iterator.mkString("Options(", ",", ")") private def print_opt(opt: Options.Opt): String = if (opt.public) "public " + opt.print else opt.print def print: String = cat_lines(options.toList.sortBy(_._1).map(p => print_opt(p._2))) def description(name: String): String = check_name(name).description /* check */ def check_name(name: String): Options.Opt = options.get(name) match { case Some(opt) if !opt.unknown => opt case _ => error("Unknown option " + quote(name)) } private def check_type(name: String, typ: Options.Type): Options.Opt = { val opt = check_name(name) if (opt.typ == typ) opt else error("Ill-typed option " + quote(name) + " : " + opt.typ.print + " vs. " + typ.print) } /* basic operations */ private def put[A](name: String, typ: Options.Type, value: String): Options = { val opt = check_type(name, typ) new Options(options + (name -> opt.copy(value = value)), section) } private def get[A](name: String, typ: Options.Type, parse: String => Option[A]): A = { val opt = check_type(name, typ) parse(opt.value) match { case Some(x) => x case None => error("Malformed value for option " + quote(name) + " : " + typ.print + " =\n" + quote(opt.value)) } } /* internal lookup and update */ class Bool_Access { def apply(name: String): Boolean = get(name, Options.Bool, Value.Boolean.unapply) def update(name: String, x: Boolean): Options = put(name, Options.Bool, Value.Boolean(x)) } val bool = new Bool_Access class Int_Access { def apply(name: String): Int = get(name, Options.Int, Value.Int.unapply) def update(name: String, x: Int): Options = put(name, Options.Int, Value.Int(x)) } val int = new Int_Access class Real_Access { def apply(name: String): Double = get(name, Options.Real, Value.Double.unapply) def update(name: String, x: Double): Options = put(name, Options.Real, Value.Double(x)) } val real = new Real_Access class String_Access { def apply(name: String): String = get(name, Options.String, s => Some(s)) def update(name: String, x: String): Options = put(name, Options.String, x) } val string = new String_Access def proper_string(name: String): Option[String] = Library.proper_string(string(name)) def seconds(name: String): Time = Time.seconds(real(name)) /* external updates */ private def check_value(name: String): Options = { val opt = check_name(name) opt.typ match { case Options.Bool => bool(name); this case Options.Int => int(name); this case Options.Real => real(name); this case Options.String => string(name); this case Options.Unknown => this } } def declare( public: Boolean, pos: Position.T, name: String, typ_name: String, value: String, description: String): Options = { options.get(name) match { case Some(other) => error("Duplicate declaration of option " + quote(name) + Position.here(pos) + Position.here(other.pos)) case None => val typ = typ_name match { case "bool" => Options.Bool case "int" => Options.Int case "real" => Options.Real case "string" => Options.String case _ => error("Unknown type for option " + quote(name) + " : " + quote(typ_name) + Position.here(pos)) } val opt = Options.Opt(public, pos, name, typ, value, value, description, section) (new Options(options + (name -> opt), section)).check_value(name) } } def add_permissive(name: String, value: String): Options = { if (options.isDefinedAt(name)) this + (name, value) else { val opt = Options.Opt(false, Position.none, name, Options.Unknown, value, value, "", "") new Options(options + (name -> opt), section) } } def + (name: String, value: String): Options = { val opt = check_name(name) (new Options(options + (name -> opt.copy(value = value)), section)).check_value(name) } def + (name: String, opt_value: Option[String]): Options = { val opt = check_name(name) opt_value match { case Some(value) => this + (name, value) case None if opt.typ == Options.Bool => this + (name, "true") case None => error("Missing value for option " + quote(name) + " : " + opt.typ.print) } } def + (str: String): Options = { str.indexOf('=') match { case -1 => this + (str, None) case i => this + (str.substring(0, i), str.substring(i + 1)) } } def ++ (specs: List[Options.Spec]): Options = (this /: specs)({ case (x, (y, z)) => x + (y, z) }) /* sections */ def set_section(new_section: String): Options = new Options(options, new_section) def sections: List[(String, List[Options.Opt])] = options.groupBy(_._2.section).toList.map({ case (a, opts) => (a, opts.toList.map(_._2)) }) /* encode */ def encode: XML.Body = { val opts = for ((_, opt) <- options.toList; if !opt.unknown) yield (opt.pos, (opt.name, (opt.typ.print, opt.value))) import XML.Encode.{string => string_, _} list(pair(properties, pair(string_, pair(string_, string_))))(opts) } /* save preferences */ def save_prefs(file: Path = Options.PREFS) { val defaults: Options = Options.init(prefs = "") val changed = (for { (name, opt2) <- options.iterator opt1 = defaults.options.get(name) if opt1.isEmpty || opt1.get.value != opt2.value } yield (name, opt2.value, if (opt1.isEmpty) " (* unknown *)" else "")).toList val prefs = changed.sortBy(_._1) .map({ case (x, y, z) => x + " = " + Outer_Syntax.quote_string(y) + z + "\n" }).mkString Isabelle_System.make_directory(file.dir) File.write_backup(file, "(* generated by Isabelle " + Date.now() + " *)\n\n" + prefs) } } class Options_Variable(init_options: Options) { private var options = init_options def value: Options = synchronized { options } private def upd(f: Options => Options): Unit = synchronized { options = f(options) } def += (name: String, x: String): Unit = upd(opts => opts + (name, x)) class Bool_Access { def apply(name: String): Boolean = value.bool(name) def update(name: String, x: Boolean): Unit = upd(opts => opts.bool.update(name, x)) } val bool = new Bool_Access class Int_Access { def apply(name: String): Int = value.int(name) def update(name: String, x: Int): Unit = upd(opts => opts.int.update(name, x)) } val int = new Int_Access class Real_Access { def apply(name: String): Double = value.real(name) def update(name: String, x: Double): Unit = upd(opts => opts.real.update(name, x)) } val real = new Real_Access class String_Access { def apply(name: String): String = value.string(name) def update(name: String, x: String): Unit = upd(opts => opts.string.update(name, x)) } val string = new String_Access def proper_string(name: String): Option[String] = Library.proper_string(string(name)) def seconds(name: String): Time = value.seconds(name) } diff --git a/src/Pure/Thy/bibtex.ML b/src/Pure/Thy/bibtex.ML --- a/src/Pure/Thy/bibtex.ML +++ b/src/Pure/Thy/bibtex.ML @@ -1,64 +1,66 @@ (* Title: Pure/Thy/bibtex.ML Author: Makarius BibTeX support. *) signature BIBTEX = sig val check_database: Position.T -> string -> (string * Position.T) list * (string * Position.T) list val check_database_output: Position.T -> string -> unit val cite_macro: string Config.T end; structure Bibtex: BIBTEX = struct (* check database *) type message = string * Position.T; fun check_database pos0 database = \<^scala>\bibtex_check_database\ database |> YXML.parse_body |> let open XML.Decode in pair (list (pair string properties)) (list (pair string properties)) end |> (apply2 o map o apsnd) (fn pos => Position.of_properties (pos @ Position.get_props pos0)); fun check_database_output pos0 database = let val (errors, warnings) = check_database pos0 database in errors |> List.app (fn (msg, pos) => Output.error_message ("Bibtex error" ^ Position.here pos ^ ":\n " ^ msg)); warnings |> List.app (fn (msg, pos) => warning ("Bibtex warning" ^ Position.here pos ^ ":\n " ^ msg)) end; (* document antiquotations *) val cite_macro = Attrib.setup_config_string \<^binding>\cite_macro\ (K "cite"); val _ = Theory.setup (Document_Antiquotation.setup_option \<^binding>\cite_macro\ (Config.put cite_macro) #> Thy_Output.antiquotation_raw \<^binding>\cite\ (Scan.lift (Scan.option (Parse.verbatim || Parse.cartouche) -- Parse.and_list1 Args.name_position)) (fn ctxt => fn (opt, citations) => let - val thy = Proof_Context.theory_of ctxt; - val bibtex_entries = Resources.theory_bibtex_entries (Context.theory_long_name thy); val _ = - if null bibtex_entries andalso Context.theory_name thy <> Context.PureN then () + Context_Position.reports ctxt + (map (fn (name, pos) => (pos, Markup.citation name)) citations); + + val thy_name = Context.theory_long_name (Proof_Context.theory_of ctxt); + val bibtex_entries = Resources.theory_bibtex_entries thy_name; + val _ = + if null bibtex_entries andalso thy_name <> Context.PureN then () else citations |> List.app (fn (name, pos) => if member (op =) bibtex_entries name then () else error ("Unknown Bibtex entry " ^ quote name ^ Position.here pos)); - val _ = - Context_Position.reports ctxt - (map (fn (name, pos) => (pos, Markup.citation name)) citations); + val opt_arg = (case opt of NONE => "" | SOME s => "[" ^ s ^ "]"); val arg = "{" ^ space_implode "," (map #1 citations) ^ "}"; in Latex.string ("\\" ^ Config.get ctxt cite_macro ^ opt_arg ^ arg) end)); end; diff --git a/src/Pure/Tools/server.scala b/src/Pure/Tools/server.scala --- a/src/Pure/Tools/server.scala +++ b/src/Pure/Tools/server.scala @@ -1,597 +1,597 @@ /* Title: Pure/Tools/server.scala Author: Makarius Resident Isabelle servers. Message formats: - short message (single line): NAME ARGUMENT - long message (multiple lines): BYTE_LENGTH NAME ARGUMENT Argument formats: - Unit as empty string - XML.Elem in YXML notation - JSON.T in standard notation */ package isabelle import java.io.{BufferedInputStream, BufferedOutputStream, InputStreamReader, OutputStreamWriter, IOException} import java.net.{Socket, SocketException, SocketTimeoutException, ServerSocket, InetAddress} object Server { /* message argument */ object Argument { def is_name_char(c: Char): Boolean = Symbol.is_ascii_letter(c) || Symbol.is_ascii_digit(c) || c == '_' || c == '.' def split(msg: String): (String, String) = { val name = msg.takeWhile(is_name_char) val argument = msg.substring(name.length).dropWhile(Symbol.is_ascii_blank) (name, argument) } def print(arg: Any): String = arg match { case () => "" case t: XML.Elem => YXML.string_of_tree(t) case t: JSON.T => JSON.Format(t) } def parse(argument: String): Any = if (argument == "") () else if (YXML.detect_elem(argument)) YXML.parse_elem(argument) else JSON.parse(argument, strict = false) def unapply(argument: String): Option[Any] = try { Some(parse(argument)) } catch { case ERROR(_) => None } } /* input command */ type Command_Body = PartialFunction[(Context, Any), Any] abstract class Command(val command_name: String) { def command_body: Command_Body override def toString: String = command_name } class Commands(commands: Command*) extends Isabelle_System.Service { def entries: List[Command] = commands.toList } private lazy val command_table: Map[String, Command] = (Map.empty[String, Command] /: Isabelle_System.make_services(classOf[Commands]).flatMap(_.entries))( { case (cmds, cmd) => val name = cmd.command_name if (cmds.isDefinedAt(name)) error("Duplicate Isabelle server command: " + quote(name)) else cmds + (name -> cmd) }) /* output reply */ class Error(val message: String, val json: JSON.Object.T = JSON.Object.empty) extends RuntimeException(message) def json_error(exn: Throwable): JSON.Object.T = exn match { case e: Error => Reply.error_message(e.message) ++ e.json case ERROR(msg) => Reply.error_message(msg) case _ if Exn.is_interrupt(exn) => Reply.error_message(Exn.message(exn)) case _ => JSON.Object.empty } object Reply extends Enumeration { val OK, ERROR, FINISHED, FAILED, NOTE = Value def message(msg: String, kind: String = ""): JSON.Object.T = JSON.Object(Markup.KIND -> proper_string(kind).getOrElse(Markup.WRITELN), "message" -> msg) def error_message(msg: String): JSON.Object.T = message(msg, kind = Markup.ERROR) def unapply(msg: String): Option[(Reply.Value, Any)] = { if (msg == "") None else { val (name, argument) = Argument.split(msg) for { reply <- try { Some(withName(name)) } catch { case _: NoSuchElementException => None } arg <- Argument.unapply(argument) } yield (reply, arg) } } } /* handler: port, password, thread */ abstract class Handler(port0: Int) { val socket: ServerSocket = new ServerSocket(port0, 50, Server.localhost) def port: Int = socket.getLocalPort val password: String = UUID.random_string() override def toString: String = print(port, password) def handle(connection: Server.Connection): Unit private lazy val thread: Thread = Isabelle_Thread.fork(name = "server_handler") { var finished = false while (!finished) { Exn.capture(socket.accept) match { case Exn.Res(client) => - Isabelle_Thread.fork(name = "server_connection") { + Isabelle_Thread.fork(name = "client") { using(Connection(client))(connection => if (connection.read_password(password)) handle(connection)) } case Exn.Exn(_) => finished = true } } } def start { thread } def join { thread.join } def stop { socket.close; join } } /* socket connection */ object Connection { def apply(socket: Socket): Connection = new Connection(socket) } class Connection private(socket: Socket) extends AutoCloseable { override def toString: String = socket.toString def close() { socket.close } def set_timeout(t: Time) { socket.setSoTimeout(t.ms.toInt) } private val in = new BufferedInputStream(socket.getInputStream) private val out = new BufferedOutputStream(socket.getOutputStream) private val out_lock: AnyRef = new Object def tty_loop(): TTY_Loop = new TTY_Loop( new OutputStreamWriter(out), new InputStreamReader(in), writer_lock = out_lock) def read_password(password: String): Boolean = try { Byte_Message.read_line(in).map(_.text) == Some(password) } catch { case _: IOException => false } def read_message(): Option[String] = try { Byte_Message.read_line_message(in).map(_.text) } catch { case _: IOException => None } def await_close(): Unit = try { Byte_Message.read(in, 1); socket.close() } catch { case _: IOException => } def write_message(msg: String): Unit = out_lock.synchronized { Byte_Message.write_line_message(out, Bytes(UTF8.bytes(msg))) } def reply(r: Reply.Value, arg: Any) { val argument = Argument.print(arg) write_message(if (argument == "") r.toString else r.toString + " " + argument) } def reply_ok(arg: Any) { reply(Reply.OK, arg) } def reply_error(arg: Any) { reply(Reply.ERROR, arg) } def reply_error_message(message: String, more: JSON.Object.Entry*): Unit = reply_error(Reply.error_message(message) ++ more) def notify(arg: Any) { reply(Reply.NOTE, arg) } } /* context with output channels */ class Context private[Server](val server: Server, connection: Connection) extends AutoCloseable { context => def command_list: List[String] = command_table.keys.toList.sorted def reply(r: Reply.Value, arg: Any) { connection.reply(r, arg) } def notify(arg: Any) { connection.notify(arg) } def message(kind: String, msg: String, more: JSON.Object.Entry*): Unit = notify(Reply.message(msg, kind = kind) ++ more) def writeln(msg: String, more: JSON.Object.Entry*): Unit = message(Markup.WRITELN, msg, more:_*) def warning(msg: String, more: JSON.Object.Entry*): Unit = message(Markup.WARNING, msg, more:_*) def error_message(msg: String, more: JSON.Object.Entry*): Unit = message(Markup.ERROR, msg, more:_*) def progress(more: JSON.Object.Entry*): Connection_Progress = new Connection_Progress(context, more:_*) override def toString: String = connection.toString /* asynchronous tasks */ private val _tasks = Synchronized(Set.empty[Task]) def make_task(body: Task => JSON.Object.T): Task = { val task = new Task(context, body) _tasks.change(_ + task) task } def remove_task(task: Task): Unit = _tasks.change(_ - task) def cancel_task(id: UUID.T): Unit = _tasks.change(tasks => { tasks.find(task => task.id == id).foreach(_.cancel); tasks }) def close() { while(_tasks.change_result(tasks => { tasks.foreach(_.cancel); (tasks.nonEmpty, tasks) })) { _tasks.value.foreach(_.join) } } } class Connection_Progress private[Server](context: Context, more: JSON.Object.Entry*) extends Progress { override def echo(msg: String): Unit = context.writeln(msg, more:_*) override def echo_warning(msg: String): Unit = context.warning(msg, more:_*) override def echo_error_message(msg: String): Unit = context.error_message(msg, more:_*) override def theory(theory: Progress.Theory) { val entries: List[JSON.Object.Entry] = List("theory" -> theory.theory, "session" -> theory.session) ::: (theory.percentage match { case None => Nil case Some(p) => List("percentage" -> p) }) context.writeln(theory.message, entries ::: more.toList:_*) } override def nodes_status(nodes_status: Document_Status.Nodes_Status) { val json = for ((name, node_status) <- nodes_status.present) yield name.json + ("status" -> node_status.json) context.notify(JSON.Object(Markup.KIND -> Markup.NODES_STATUS, Markup.NODES_STATUS -> json)) } override def toString: String = context.toString } class Task private[Server](val context: Context, body: Task => JSON.Object.T) { task => val id: UUID.T = UUID.random() val ident: JSON.Object.Entry = ("task" -> id.toString) val progress: Connection_Progress = context.progress(ident) def cancel { progress.stop } private lazy val thread = Isabelle_Thread.fork(name = "server_task") { Exn.capture { body(task) } match { case Exn.Res(res) => context.reply(Reply.FINISHED, res + ident) case Exn.Exn(exn) => val err = json_error(exn) if (err.isEmpty) throw exn else context.reply(Reply.FAILED, err + ident) } progress.stop context.remove_task(task) } def start { thread } def join { thread.join } } /* server info */ val localhost_name: String = "127.0.0.1" def localhost: InetAddress = InetAddress.getByName(localhost_name) def print_address(port: Int): String = localhost_name + ":" + port def print(port: Int, password: String): String = print_address(port) + " (password " + quote(password) + ")" object Info { private val Pattern = ("""server "([^"]*)" = \Q""" + localhost_name + """\E:(\d+) \(password "([^"]*)"\)""").r def parse(s: String): Option[Info] = s match { case Pattern(name, Value.Int(port), password) => Some(Info(name, port, password)) case _ => None } def apply(name: String, port: Int, password: String): Info = new Info(name, port, password) } class Info private(val name: String, val port: Int, val password: String) { def address: String = print_address(port) override def toString: String = "server " + quote(name) + " = " + print(port, password) def connection(): Connection = { val connection = Connection(new Socket(localhost, port)) connection.write_message(password) connection } def active(): Boolean = try { using(connection())(connection => { connection.set_timeout(Time.seconds(2.0)) connection.read_message() match { case Some(Reply(Reply.OK, _)) => true case _ => false } }) } catch { case _: IOException => false case _: SocketException => false case _: SocketTimeoutException => false } } /* per-user servers */ val default_name = "isabelle" object Data { val database = Path.explode("$ISABELLE_HOME_USER/servers.db") val name = SQL.Column.string("name").make_primary_key val port = SQL.Column.int("port") val password = SQL.Column.string("password") val table = SQL.Table("isabelle_servers", List(name, port, password)) } def list(db: SQLite.Database): List[Info] = if (db.tables.contains(Data.table.name)) { db.using_statement(Data.table.select())(stmt => stmt.execute_query().iterator(res => Info( res.string(Data.name), res.int(Data.port), res.string(Data.password))).toList.sortBy(_.name)) } else Nil def find(db: SQLite.Database, name: String): Option[Info] = list(db).find(server_info => server_info.name == name && server_info.active) def init( name: String = default_name, port: Int = 0, existing_server: Boolean = false, log: Logger = No_Logger): (Info, Option[Server]) = { using(SQLite.open_database(Data.database))(db => { db.transaction { Isabelle_System.chmod("600", Data.database) db.create_table(Data.table) list(db).filterNot(_.active).foreach(server_info => db.using_statement(Data.table.delete(Data.name.where_equal(server_info.name)))( _.execute)) } db.transaction { find(db, name) match { case Some(server_info) => (server_info, None) case None => if (existing_server) error("Isabelle server " + quote(name) + " not running") val server = new Server(port, log) val server_info = Info(name, server.port, server.password) db.using_statement(Data.table.delete(Data.name.where_equal(name)))(_.execute) db.using_statement(Data.table.insert())(stmt => { stmt.string(1) = server_info.name stmt.int(2) = server_info.port stmt.string(3) = server_info.password stmt.execute() }) server.start (server_info, Some(server)) } } }) } def exit(name: String = default_name): Boolean = { using(SQLite.open_database(Data.database))(db => db.transaction { find(db, name) match { case Some(server_info) => using(server_info.connection())(_.write_message("shutdown")) while(server_info.active) { Time.seconds(0.05).sleep } true case None => false } }) } /* Isabelle tool wrapper */ val isabelle_tool = Isabelle_Tool("server", "manage resident Isabelle servers", Scala_Project.here, args => { var console = false var log_file: Option[Path] = None var operation_list = false var operation_exit = false var name = default_name var port = 0 var existing_server = false val getopts = Getopts(""" Usage: isabelle server [OPTIONS] Options are: -L FILE logging on FILE -c console interaction with specified server -l list servers (alternative operation) -n NAME explicit server name (default: """ + default_name + """) -p PORT explicit server port -s assume existing server, no implicit startup -x exit specified server (alternative operation) Manage resident Isabelle servers. """, "L:" -> (arg => log_file = Some(Path.explode(File.standard_path(arg)))), "c" -> (_ => console = true), "l" -> (_ => operation_list = true), "n:" -> (arg => name = arg), "p:" -> (arg => port = Value.Int.parse(arg)), "s" -> (_ => existing_server = true), "x" -> (_ => operation_exit = true)) val more_args = getopts(args) if (more_args.nonEmpty) getopts.usage() if (operation_list) { for { server_info <- using(SQLite.open_database(Data.database))(list) if server_info.active } Output.writeln(server_info.toString, stdout = true) } else if (operation_exit) { val ok = Server.exit(name) sys.exit(if (ok) 0 else 2) } else { val log = Logger.make(log_file) val (server_info, server) = init(name, port = port, existing_server = existing_server, log = log) Output.writeln(server_info.toString, stdout = true) if (console) { using(server_info.connection())(connection => connection.tty_loop().join) } server.foreach(_.join) } }) } class Server private(port0: Int, val log: Logger) extends Server.Handler(port0) { server => private val _sessions = Synchronized(Map.empty[UUID.T, Headless.Session]) def err_session(id: UUID.T): Nothing = error("No session " + Library.single_quote(id.toString)) def the_session(id: UUID.T): Headless.Session = _sessions.value.getOrElse(id, err_session(id)) def add_session(entry: (UUID.T, Headless.Session)) { _sessions.change(_ + entry) } def remove_session(id: UUID.T): Headless.Session = { _sessions.change_result(sessions => sessions.get(id) match { case Some(session) => (session, sessions - id) case None => err_session(id) }) } def shutdown() { server.socket.close val sessions = _sessions.change_result(sessions => (sessions, Map.empty)) for ((_, session) <- sessions) { try { val result = session.stop() if (!result.ok) log("Session shutdown failed: " + result.print_rc) } catch { case ERROR(msg) => log("Session shutdown failed: " + msg) } } } override def join { super.join; shutdown() } override def handle(connection: Server.Connection) { using(new Server.Context(server, connection))(context => { connection.reply_ok( JSON.Object( "isabelle_id" -> Isabelle_System.isabelle_id(), "isabelle_version" -> Distribution.version)) var finished = false while (!finished) { connection.read_message() match { case None => finished = true case Some("") => context.notify("Command 'help' provides list of commands") case Some(msg) => val (name, argument) = Server.Argument.split(msg) Server.command_table.get(name) match { case Some(cmd) => argument match { case Server.Argument(arg) => if (cmd.command_body.isDefinedAt((context, arg))) { Exn.capture { cmd.command_body((context, arg)) } match { case Exn.Res(task: Server.Task) => connection.reply_ok(JSON.Object(task.ident)) task.start case Exn.Res(res) => connection.reply_ok(res) case Exn.Exn(exn) => val err = Server.json_error(exn) if (err.isEmpty) throw exn else connection.reply_error(err) } } else { connection.reply_error_message( "Bad argument for command " + Library.single_quote(name), "argument" -> argument) } case _ => connection.reply_error_message( "Malformed argument for command " + Library.single_quote(name), "argument" -> argument) } case None => connection.reply_error("Bad command " + Library.single_quote(name)) } } } }) } } diff --git a/src/Tools/Haskell/Haskell.thy b/src/Tools/Haskell/Haskell.thy --- a/src/Tools/Haskell/Haskell.thy +++ b/src/Tools/Haskell/Haskell.thy @@ -1,1970 +1,2011 @@ (* Title: Tools/Haskell/Haskell.thy Author: Makarius Support for Isabelle tools in Haskell. *) theory Haskell imports Pure begin generate_file "Isabelle/Symbol.hs" = \ {- Title: Isabelle/Symbols.hs Author: Makarius LICENSE: BSD 3-clause (Isabelle) Isabelle text symbols. -} module Isabelle.Symbol where {- ASCII characters -} is_ascii_letter :: Char -> Bool is_ascii_letter c = 'A' <= c && c <= 'Z' || 'a' <= c && c <= 'z' is_ascii_digit :: Char -> Bool is_ascii_digit c = '0' <= c && c <= '9' is_ascii_hex :: Char -> Bool is_ascii_hex c = '0' <= c && c <= '9' || 'A' <= c && c <= 'F' || 'a' <= c && c <= 'f' is_ascii_quasi :: Char -> Bool is_ascii_quasi c = c == '_' || c == '\'' is_ascii_blank :: Char -> Bool is_ascii_blank c = c `elem` " \t\n\11\f\r" is_ascii_line_terminator :: Char -> Bool is_ascii_line_terminator c = c == '\r' || c == '\n' is_ascii_letdig :: Char -> Bool is_ascii_letdig c = is_ascii_letter c || is_ascii_digit c || is_ascii_quasi c is_ascii_identifier :: String -> Bool is_ascii_identifier s = not (null s) && is_ascii_letter (head s) && all is_ascii_letdig s \ generate_file "Isabelle/Library.hs" = \ {- Title: Isabelle/Library.hs Author: Makarius LICENSE: BSD 3-clause (Isabelle) Basic library of Isabelle idioms. See also \<^file>\$ISABELLE_HOME/src/Pure/General/basics.ML\, \<^file>\$ISABELLE_HOME/src/Pure/library.ML\. -} module Isabelle.Library ( (|>), (|->), (#>), (#->), the, the_default, fold, fold_rev, single, map_index, get_index, proper_string, quote, space_implode, commas, commas_quote, cat_lines, space_explode, split_lines, trim_line, clean_name) where -import Data.Maybe import qualified Data.List as List import qualified Data.List.Split as Split import qualified Isabelle.Symbol as Symbol {- functions -} (|>) :: a -> (a -> b) -> b x |> f = f x (|->) :: (a, b) -> (a -> b -> c) -> c (x, y) |-> f = f x y (#>) :: (a -> b) -> (b -> c) -> a -> c (f #> g) x = x |> f |> g (#->) :: (a -> (c, b)) -> (c -> b -> d) -> a -> d (f #-> g) x = x |> f |-> g {- options -} the :: Maybe a -> a the (Just x) = x the Nothing = error "the Nothing" the_default :: a -> Maybe a -> a the_default x Nothing = x the_default _ (Just y) = y {- lists -} fold :: (a -> b -> b) -> [a] -> b -> b fold _ [] y = y fold f (x : xs) y = fold f xs (f x y) fold_rev :: (a -> b -> b) -> [a] -> b -> b fold_rev _ [] y = y fold_rev f (x : xs) y = f x (fold_rev f xs y) single :: a -> [a] single x = [x] map_index :: ((Int, a) -> b) -> [a] -> [b] map_index f = map_aux 0 where map_aux _ [] = [] map_aux i (x : xs) = f (i, x) : map_aux (i + 1) xs get_index :: (a -> Maybe b) -> [a] -> Maybe (Int, b) get_index f = get_aux 0 where get_aux _ [] = Nothing get_aux i (x : xs) = case f x of Nothing -> get_aux (i + 1) xs Just y -> Just (i, y) {- strings -} proper_string :: String -> Maybe String proper_string s = if null s then Nothing else Just s quote :: String -> String quote s = "\"" ++ s ++ "\"" space_implode :: String -> [String] -> String space_implode = List.intercalate commas, commas_quote :: [String] -> String commas = space_implode ", " commas_quote = commas . map quote cat_lines :: [String] -> String cat_lines = space_implode "\n" space_explode :: Char -> String -> [String] space_explode c = Split.split (Split.dropDelims (Split.whenElt (== c))) split_lines :: String -> [String] split_lines = space_explode '\n' trim_line :: String -> String trim_line line = if not (null line) && Symbol.is_ascii_line_terminator (last line) then case reverse line of '\n' : '\r' : rest -> reverse rest '\r' : rest -> reverse rest '\n' : rest -> reverse rest _ -> line else line clean_name :: String -> String clean_name = reverse #> dropWhile (== '_') #> reverse \ generate_file "Isabelle/Value.hs" = \ {- Title: Haskell/Tools/Value.hs Author: Makarius LICENSE: BSD 3-clause (Isabelle) Plain values, represented as string. See also \<^file>\$ISABELLE_HOME/src/Pure/General/value.ML\. -} module Isabelle.Value (print_bool, parse_bool, parse_nat, print_int, parse_int, print_real, parse_real) where -import Data.Maybe import qualified Data.List as List import qualified Text.Read as Read {- bool -} print_bool :: Bool -> String print_bool True = "true" print_bool False = "false" parse_bool :: String -> Maybe Bool parse_bool "true" = Just True parse_bool "false" = Just False parse_bool _ = Nothing {- nat -} parse_nat :: String -> Maybe Int parse_nat s = case Read.readMaybe s of Just n | n >= 0 -> Just n _ -> Nothing {- int -} print_int :: Int -> String print_int = show parse_int :: String -> Maybe Int parse_int = Read.readMaybe {- real -} print_real :: Double -> String print_real x = let s = show x in case span (/= '.') s of (a, '.' : b) | List.all (== '0') b -> a _ -> s parse_real :: String -> Maybe Double parse_real = Read.readMaybe \ generate_file "Isabelle/Buffer.hs" = \ {- Title: Isabelle/Buffer.hs Author: Makarius LICENSE: BSD 3-clause (Isabelle) Efficient text buffers. See also \<^file>\$ISABELLE_HOME/src/Pure/General/buffer.ML\. -} module Isabelle.Buffer (T, empty, add, content) where import Isabelle.Library newtype T = Buffer [Char] empty :: T empty = Buffer [] add :: String -> T -> T add s (Buffer cs) = Buffer (fold (:) s cs) content :: T -> String content (Buffer cs) = reverse cs \ generate_file "Isabelle/Properties.hs" = \ {- Title: Isabelle/Properties.hs Author: Makarius LICENSE: BSD 3-clause (Isabelle) Property lists. See also \<^file>\$ISABELLE_HOME/src/Pure/General/properties.ML\. -} module Isabelle.Properties (Entry, T, defined, get, get_value, put, remove) where import qualified Data.List as List type Entry = (String, String) type T = [Entry] defined :: T -> String -> Bool defined props name = any (\(a, _) -> a == name) props get :: T -> String -> Maybe String get props name = List.lookup name props get_value :: (String -> Maybe a) -> T -> String -> Maybe a get_value parse props name = case get props name of Nothing -> Nothing Just s -> parse s put :: Entry -> T -> T put entry props = entry : remove (fst entry) props remove :: String -> T -> T remove name props = if defined props name then filter (\(a, _) -> a /= name) props else props \ generate_file "Isabelle/Markup.hs" = \ {- Title: Haskell/Tools/Markup.hs Author: Makarius LICENSE: BSD 3-clause (Isabelle) Quasi-abstract markup elements. See also \<^file>\$ISABELLE_HOME/src/Pure/PIDE/markup.ML\. -} +{-# OPTIONS_GHC -fno-warn-missing-signatures #-} + module Isabelle.Markup ( T, empty, is_empty, properties, nameN, name, xnameN, xname, kindN, bindingN, binding, entityN, entity, defN, refN, completionN, completion, no_completionN, no_completion, lineN, end_lineN, offsetN, end_offsetN, fileN, idN, positionN, position, expressionN, expression, citationN, citation, pathN, path, urlN, url, docN, doc, markupN, consistentN, unbreakableN, indentN, widthN, blockN, block, breakN, break, fbreakN, fbreak, itemN, item, wordsN, words, tfreeN, tfree, tvarN, tvar, freeN, free, skolemN, skolem, boundN, bound, varN, var, numeralN, numeral, literalN, literal, delimiterN, delimiter, inner_stringN, inner_string, inner_cartoucheN, inner_cartouche, token_rangeN, token_range, sortingN, sorting, typingN, typing, class_parameterN, class_parameter, antiquotedN, antiquoted, antiquoteN, antiquote, paragraphN, paragraph, text_foldN, text_fold, keyword1N, keyword1, keyword2N, keyword2, keyword3N, keyword3, quasi_keywordN, quasi_keyword, improperN, improper, operatorN, operator, stringN, string, alt_stringN, alt_string, verbatimN, verbatim, cartoucheN, cartouche, commentN, comment, comment1N, comment1, comment2N, comment2, comment3N, comment3, forkedN, forked, joinedN, joined, runningN, running, finishedN, finished, failedN, failed, canceledN, canceled, initializedN, initialized, finalizedN, finalized, consolidatedN, consolidated, writelnN, writeln, stateN, state, informationN, information, tracingN, tracing, warningN, warning, legacyN, legacy, errorN, error, reportN, report, no_reportN, no_report, intensifyN, intensify, Output, no_output) where import Prelude hiding (words, error, break) import Isabelle.Library import qualified Isabelle.Properties as Properties import qualified Isabelle.Value as Value {- basic markup -} type T = (String, Properties.T) empty :: T empty = ("", []) is_empty :: T -> Bool is_empty ("", _) = True is_empty _ = False properties :: Properties.T -> T -> T properties more_props (elem, props) = (elem, fold_rev Properties.put more_props props) markup_elem name = (name, (name, []) :: T) markup_string name prop = (name, \s -> (name, [(prop, s)]) :: T) {- misc properties -} nameN :: String nameN = \Markup.nameN\ name :: String -> T -> T name a = properties [(nameN, a)] xnameN :: String xnameN = \Markup.xnameN\ xname :: String -> T -> T xname a = properties [(xnameN, a)] kindN :: String kindN = \Markup.kindN\ {- formal entities -} bindingN :: String; binding :: T (bindingN, binding) = markup_elem \Markup.bindingN\ entityN :: String; entity :: String -> String -> T entityN = \Markup.entityN\ entity kind name = (entityN, (if null name then [] else [(nameN, name)]) ++ (if null kind then [] else [(kindN, kind)])) defN :: String defN = \Markup.defN\ refN :: String refN = \Markup.refN\ {- completion -} completionN :: String; completion :: T (completionN, completion) = markup_elem \Markup.completionN\ no_completionN :: String; no_completion :: T (no_completionN, no_completion) = markup_elem \Markup.no_completionN\ {- position -} lineN, end_lineN :: String lineN = \Markup.lineN\ end_lineN = \Markup.end_lineN\ offsetN, end_offsetN :: String offsetN = \Markup.offsetN\ end_offsetN = \Markup.end_offsetN\ fileN, idN :: String fileN = \Markup.fileN\ idN = \Markup.idN\ positionN :: String; position :: T (positionN, position) = markup_elem \Markup.positionN\ {- expression -} expressionN :: String expressionN = \Markup.expressionN\ expression :: String -> T expression kind = (expressionN, if kind == "" then [] else [(kindN, kind)]) {- citation -} citationN :: String; citation :: String -> T (citationN, citation) = markup_string \Markup.citationN\ nameN {- external resources -} pathN :: String; path :: String -> T (pathN, path) = markup_string \Markup.pathN\ nameN urlN :: String; url :: String -> T (urlN, url) = markup_string \Markup.urlN\ nameN docN :: String; doc :: String -> T (docN, doc) = markup_string \Markup.docN\ nameN {- pretty printing -} markupN, consistentN, unbreakableN, indentN :: String markupN = \Markup.markupN\; consistentN = \Markup.consistentN\; unbreakableN = \Markup.unbreakableN\; indentN = \Markup.indentN\; widthN :: String widthN = \Markup.widthN\ blockN :: String blockN = \Markup.blockN\ block :: Bool -> Int -> T block c i = (blockN, (if c then [(consistentN, Value.print_bool c)] else []) ++ (if i /= 0 then [(indentN, Value.print_int i)] else [])) breakN :: String breakN = \Markup.breakN\ break :: Int -> Int -> T break w i = (breakN, (if w /= 0 then [(widthN, Value.print_int w)] else []) ++ (if i /= 0 then [(indentN, Value.print_int i)] else [])) fbreakN :: String; fbreak :: T (fbreakN, fbreak) = markup_elem \Markup.fbreakN\ itemN :: String; item :: T (itemN, item) = markup_elem \Markup.itemN\ {- text properties -} wordsN :: String; words :: T (wordsN, words) = markup_elem \Markup.wordsN\ {- inner syntax -} tfreeN :: String; tfree :: T (tfreeN, tfree) = markup_elem \Markup.tfreeN\ tvarN :: String; tvar :: T (tvarN, tvar) = markup_elem \Markup.tvarN\ freeN :: String; free :: T (freeN, free) = markup_elem \Markup.freeN\ skolemN :: String; skolem :: T (skolemN, skolem) = markup_elem \Markup.skolemN\ boundN :: String; bound :: T (boundN, bound) = markup_elem \Markup.boundN\ varN :: String; var :: T (varN, var) = markup_elem \Markup.varN\ numeralN :: String; numeral :: T (numeralN, numeral) = markup_elem \Markup.numeralN\ literalN :: String; literal :: T (literalN, literal) = markup_elem \Markup.literalN\ delimiterN :: String; delimiter :: T (delimiterN, delimiter) = markup_elem \Markup.delimiterN\ inner_stringN :: String; inner_string :: T (inner_stringN, inner_string) = markup_elem \Markup.inner_stringN\ inner_cartoucheN :: String; inner_cartouche :: T (inner_cartoucheN, inner_cartouche) = markup_elem \Markup.inner_cartoucheN\ token_rangeN :: String; token_range :: T (token_rangeN, token_range) = markup_elem \Markup.token_rangeN\ sortingN :: String; sorting :: T (sortingN, sorting) = markup_elem \Markup.sortingN\ typingN :: String; typing :: T (typingN, typing) = markup_elem \Markup.typingN\ class_parameterN :: String; class_parameter :: T (class_parameterN, class_parameter) = markup_elem \Markup.class_parameterN\ {- antiquotations -} antiquotedN :: String; antiquoted :: T (antiquotedN, antiquoted) = markup_elem \Markup.antiquotedN\ antiquoteN :: String; antiquote :: T (antiquoteN, antiquote) = markup_elem \Markup.antiquoteN\ {- text structure -} paragraphN :: String; paragraph :: T (paragraphN, paragraph) = markup_elem \Markup.paragraphN\ text_foldN :: String; text_fold :: T (text_foldN, text_fold) = markup_elem \Markup.text_foldN\ {- outer syntax -} keyword1N :: String; keyword1 :: T (keyword1N, keyword1) = markup_elem \Markup.keyword1N\ keyword2N :: String; keyword2 :: T (keyword2N, keyword2) = markup_elem \Markup.keyword2N\ keyword3N :: String; keyword3 :: T (keyword3N, keyword3) = markup_elem \Markup.keyword3N\ quasi_keywordN :: String; quasi_keyword :: T (quasi_keywordN, quasi_keyword) = markup_elem \Markup.quasi_keywordN\ improperN :: String; improper :: T (improperN, improper) = markup_elem \Markup.improperN\ operatorN :: String; operator :: T (operatorN, operator) = markup_elem \Markup.operatorN\ stringN :: String; string :: T (stringN, string) = markup_elem \Markup.stringN\ alt_stringN :: String; alt_string :: T (alt_stringN, alt_string) = markup_elem \Markup.alt_stringN\ verbatimN :: String; verbatim :: T (verbatimN, verbatim) = markup_elem \Markup.verbatimN\ cartoucheN :: String; cartouche :: T (cartoucheN, cartouche) = markup_elem \Markup.cartoucheN\ commentN :: String; comment :: T (commentN, comment) = markup_elem \Markup.commentN\ {- comments -} comment1N :: String; comment1 :: T (comment1N, comment1) = markup_elem \Markup.comment1N\ comment2N :: String; comment2 :: T (comment2N, comment2) = markup_elem \Markup.comment2N\ comment3N :: String; comment3 :: T (comment3N, comment3) = markup_elem \Markup.comment3N\ {- command status -} forkedN, joinedN, runningN, finishedN, failedN, canceledN, initializedN, finalizedN, consolidatedN :: String forked, joined, running, finished, failed, canceled, initialized, finalized, consolidated :: T (forkedN, forked) = markup_elem \Markup.forkedN\ (joinedN, joined) = markup_elem \Markup.joinedN\ (runningN, running) = markup_elem \Markup.runningN\ (finishedN, finished) = markup_elem \Markup.finishedN\ (failedN, failed) = markup_elem \Markup.failedN\ (canceledN, canceled) = markup_elem \Markup.canceledN\ (initializedN, initialized) = markup_elem \Markup.initializedN\ (finalizedN, finalized) = markup_elem \Markup.finalizedN\ (consolidatedN, consolidated) = markup_elem \Markup.consolidatedN\ {- messages -} writelnN :: String; writeln :: T (writelnN, writeln) = markup_elem \Markup.writelnN\ stateN :: String; state :: T (stateN, state) = markup_elem \Markup.stateN\ informationN :: String; information :: T (informationN, information) = markup_elem \Markup.informationN\ tracingN :: String; tracing :: T (tracingN, tracing) = markup_elem \Markup.tracingN\ warningN :: String; warning :: T (warningN, warning) = markup_elem \Markup.warningN\ legacyN :: String; legacy :: T (legacyN, legacy) = markup_elem \Markup.legacyN\ errorN :: String; error :: T (errorN, error) = markup_elem \Markup.errorN\ reportN :: String; report :: T (reportN, report) = markup_elem \Markup.reportN\ no_reportN :: String; no_report :: T (no_reportN, no_report) = markup_elem \Markup.no_reportN\ intensifyN :: String; intensify :: T (intensifyN, intensify) = markup_elem \Markup.intensifyN\ {- output -} type Output = (String, String) no_output :: Output no_output = ("", "") \ generate_file "Isabelle/Completion.hs" = \ {- Title: Isabelle/Completion.hs Author: Makarius LICENSE: BSD 3-clause (Isabelle) Completion of names. See also \<^file>\$ISABELLE_HOME/src/Pure/General/completion.ML\. -} module Isabelle.Completion ( Name, T, names, none, make, markup_element, markup_report, make_report ) where import qualified Data.List as List import Isabelle.Library import qualified Isabelle.Properties as Properties import qualified Isabelle.Markup as Markup import qualified Isabelle.XML.Encode as Encode import qualified Isabelle.XML as XML import qualified Isabelle.YXML as YXML type Name = (String, (String, String)) -- external name, kind, internal name data T = Completion Properties.T Int [Name] -- position, total length, names names :: Int -> Properties.T -> [Name] -> T names limit props names = Completion props (length names) (take limit names) none :: T none = names 0 [] [] make :: Int -> (String, Properties.T) -> ((String -> Bool) -> [Name]) -> T make limit (name, props) make_names = if name /= "" && name /= "_" then names limit props (make_names $ List.isPrefixOf $ clean_name name) else none markup_element :: T -> (Markup.T, XML.Body) markup_element (Completion props total names) = if not (null names) then let markup = Markup.properties props Markup.completion body = Encode.pair Encode.int (Encode.list (Encode.pair Encode.string (Encode.pair Encode.string Encode.string))) (total, names) in (markup, body) else (Markup.empty, []) markup_report :: [T] -> String markup_report [] = "" markup_report elems = YXML.string_of $ XML.Elem (Markup.report, map (XML.Elem . markup_element) elems) make_report :: Int -> (String, Properties.T) -> ((String -> Bool) -> [Name]) -> String make_report limit name_props make_names = markup_report [make limit name_props make_names] \ generate_file "Isabelle/File.hs" = \ {- Title: Isabelle/File.hs Author: Makarius LICENSE: BSD 3-clause (Isabelle) File-system operations. See also \<^file>\$ISABELLE_HOME/src/Pure/General/file.ML\. -} module Isabelle.File (setup, read, write, append) where import Prelude hiding (read) -import System.IO (IO) import qualified System.IO as IO setup :: IO.Handle -> IO () setup h = do IO.hSetEncoding h IO.utf8 IO.hSetNewlineMode h IO.noNewlineTranslation read :: IO.FilePath -> IO String read path = IO.withFile path IO.ReadMode (\h -> do setup h; IO.hGetContents h >>= \s -> length s `seq` return s) write :: IO.FilePath -> String -> IO () write path s = IO.withFile path IO.WriteMode (\h -> do setup h; IO.hPutStr h s) append :: IO.FilePath -> String -> IO () append path s = IO.withFile path IO.AppendMode (\h -> do setup h; IO.hPutStr h s) \ generate_file "Isabelle/XML.hs" = \ {- Title: Isabelle/XML.hs Author: Makarius LICENSE: BSD 3-clause (Isabelle) Untyped XML trees and representation of ML values. See also \<^file>\$ISABELLE_HOME/src/Pure/PIDE/xml.ML\. -} +{-# OPTIONS_GHC -fno-warn-missing-signatures #-} + module Isabelle.XML (Attributes, Body, Tree(..), wrap_elem, unwrap_elem, content_of) where -import qualified Data.List as List - import Isabelle.Library import qualified Isabelle.Properties as Properties import qualified Isabelle.Markup as Markup import qualified Isabelle.Buffer as Buffer {- types -} type Attributes = Properties.T type Body = [Tree] data Tree = Elem (Markup.T, Body) | Text String {- wrapped elements -} wrap_elem :: ((Markup.T, Body), [Tree]) -> Tree wrap_elem (((a, atts), body1), body2) = Elem ((\XML.xml_elemN\, (\XML.xml_nameN\, a) : atts), Elem ((\XML.xml_bodyN\, []), body1) : body2) unwrap_elem :: Tree -> Maybe ((Markup.T, Body), [Tree]) unwrap_elem (Elem ((\XML.xml_elemN\, (\XML.xml_nameN\, a) : atts), Elem ((\XML.xml_bodyN\, []), body1) : body2)) = Just (((a, atts), body1), body2) unwrap_elem _ = Nothing {- text content -} add_content :: Tree -> Buffer.T -> Buffer.T add_content tree = case unwrap_elem tree of Just (_, ts) -> fold add_content ts Nothing -> case tree of Elem (_, ts) -> fold add_content ts Text s -> Buffer.add s content_of :: Body -> String content_of body = Buffer.empty |> fold add_content body |> Buffer.content {- string representation -} encode '<' = "<" encode '>' = ">" encode '&' = "&" encode '\'' = "'" encode '\"' = """ encode c = [c] instance Show Tree where show tree = Buffer.empty |> show_tree tree |> Buffer.content where show_tree (Elem ((name, atts), [])) = Buffer.add "<" #> Buffer.add (show_elem name atts) #> Buffer.add "/>" show_tree (Elem ((name, atts), ts)) = Buffer.add "<" #> Buffer.add (show_elem name atts) #> Buffer.add ">" #> fold show_tree ts #> Buffer.add " Buffer.add name #> Buffer.add ">" show_tree (Text s) = Buffer.add (show_text s) show_elem name atts = unwords (name : map (\(a, x) -> a ++ "=\"" ++ show_text x ++ "\"") atts) show_text = concatMap encode \ generate_file "Isabelle/XML/Encode.hs" = \ {- Title: Isabelle/XML/Encode.hs Author: Makarius LICENSE: BSD 3-clause (Isabelle) XML as data representation language. See also \<^file>\$ISABELLE_HOME/src/Pure/PIDE/xml.ML\. -} +{-# OPTIONS_GHC -fno-warn-missing-signatures #-} + module Isabelle.XML.Encode ( A, T, V, P, int_atom, bool_atom, unit_atom, tree, properties, string, int, bool, unit, pair, triple, list, option, variant ) where import Isabelle.Library import qualified Isabelle.Value as Value import qualified Isabelle.Properties as Properties import qualified Isabelle.XML as XML type A a = a -> String type T a = a -> XML.Body type V a = a -> Maybe ([String], XML.Body) type P a = a -> [String] -- atomic values int_atom :: A Int int_atom = Value.print_int bool_atom :: A Bool bool_atom False = "0" bool_atom True = "1" unit_atom :: A () unit_atom () = "" -- structural nodes node ts = XML.Elem ((":", []), ts) vector = map_index (\(i, x) -> (int_atom i, x)) tagged (tag, (xs, ts)) = XML.Elem ((int_atom tag, vector xs), ts) -- representation of standard types tree :: T XML.Tree tree t = [t] properties :: T Properties.T properties props = [XML.Elem ((":", props), [])] string :: T String string "" = [] string s = [XML.Text s] int :: T Int int = string . int_atom bool :: T Bool bool = string . bool_atom unit :: T () unit = string . unit_atom pair :: T a -> T b -> T (a, b) pair f g (x, y) = [node (f x), node (g y)] triple :: T a -> T b -> T c -> T (a, b, c) triple f g h (x, y, z) = [node (f x), node (g y), node (h z)] list :: T a -> T [a] list f xs = map (node . f) xs option :: T a -> T (Maybe a) option _ Nothing = [] option f (Just x) = [node (f x)] variant :: [V a] -> T a variant fs x = [tagged (the (get_index (\f -> f x) fs))] \ generate_file "Isabelle/XML/Decode.hs" = \ {- Title: Isabelle/XML/Decode.hs Author: Makarius LICENSE: BSD 3-clause (Isabelle) XML as data representation language. See also \<^file>\$ISABELLE_HOME/src/Pure/PIDE/xml.ML\. -} +{-# OPTIONS_GHC -fno-warn-missing-signatures #-} + module Isabelle.XML.Decode ( A, T, V, P, int_atom, bool_atom, unit_atom, tree, properties, string, int, bool, unit, pair, triple, list, option, variant ) where -import Data.List ((!!)) - import Isabelle.Library import qualified Isabelle.Value as Value import qualified Isabelle.Properties as Properties import qualified Isabelle.XML as XML type A a = String -> a type T a = XML.Body -> a type V a = ([String], XML.Body) -> a type P a = [String] -> a err_atom = error "Malformed XML atom" err_body = error "Malformed XML body" {- atomic values -} int_atom :: A Int int_atom s = case Value.parse_int s of Just i -> i Nothing -> err_atom bool_atom :: A Bool bool_atom "0" = False bool_atom "1" = True bool_atom _ = err_atom unit_atom :: A () unit_atom "" = () unit_atom _ = err_atom {- structural nodes -} node (XML.Elem ((":", []), ts)) = ts node _ = err_body vector atts = map_index (\(i, (a, x)) -> if int_atom a == i then x else err_atom) atts tagged (XML.Elem ((name, atts), ts)) = (int_atom name, (vector atts, ts)) tagged _ = err_body {- representation of standard types -} tree :: T XML.Tree tree [t] = t tree _ = err_body properties :: T Properties.T properties [XML.Elem ((":", props), [])] = props properties _ = err_body string :: T String string [] = "" string [XML.Text s] = s string _ = err_body int :: T Int int = int_atom . string bool :: T Bool bool = bool_atom . string unit :: T () unit = unit_atom . string pair :: T a -> T b -> T (a, b) pair f g [t1, t2] = (f (node t1), g (node t2)) pair _ _ _ = err_body triple :: T a -> T b -> T c -> T (a, b, c) triple f g h [t1, t2, t3] = (f (node t1), g (node t2), h (node t3)) triple _ _ _ _ = err_body list :: T a -> T [a] list f ts = map (f . node) ts option :: T a -> T (Maybe a) option _ [] = Nothing option f [t] = Just (f (node t)) option _ _ = err_body variant :: [V a] -> T a variant fs [t] = (fs !! tag) (xs, ts) where (tag, (xs, ts)) = tagged t variant _ _ = err_body \ generate_file "Isabelle/YXML.hs" = \ {- Title: Isabelle/YXML.hs Author: Makarius LICENSE: BSD 3-clause (Isabelle) Efficient text representation of XML trees. Suitable for direct inlining into plain text. See also \<^file>\$ISABELLE_HOME/src/Pure/PIDE/yxml.ML\. -} +{-# OPTIONS_GHC -fno-warn-missing-signatures -fno-warn-incomplete-patterns #-} + module Isabelle.YXML (charX, charY, strX, strY, detect, output_markup, buffer_body, buffer, string_of_body, string_of, parse_body, parse) where import qualified Data.Char as Char import qualified Data.List as List import Isabelle.Library import qualified Isabelle.Markup as Markup import qualified Isabelle.XML as XML import qualified Isabelle.Buffer as Buffer {- markers -} charX, charY :: Char charX = Char.chr 5 charY = Char.chr 6 strX, strY, strXY, strXYX :: String strX = [charX] strY = [charY] strXY = strX ++ strY strXYX = strXY ++ strX detect :: String -> Bool detect = any (\c -> c == charX || c == charY) {- output -} output_markup :: Markup.T -> Markup.Output output_markup markup@(name, atts) = if Markup.is_empty markup then Markup.no_output else (strXY ++ name ++ concatMap (\(a, x) -> strY ++ a ++ "=" ++ x) atts ++ strX, strXYX) buffer_attrib (a, x) = Buffer.add strY #> Buffer.add a #> Buffer.add "=" #> Buffer.add x buffer_body :: XML.Body -> Buffer.T -> Buffer.T buffer_body = fold buffer buffer :: XML.Tree -> Buffer.T -> Buffer.T buffer (XML.Elem ((name, atts), ts)) = Buffer.add strXY #> Buffer.add name #> fold buffer_attrib atts #> Buffer.add strX #> buffer_body ts #> Buffer.add strXYX buffer (XML.Text s) = Buffer.add s string_of_body :: XML.Body -> String string_of_body body = Buffer.empty |> buffer_body body |> Buffer.content string_of :: XML.Tree -> String string_of = string_of_body . single {- parse -} -- split: fields or non-empty tokens split :: Bool -> Char -> String -> [String] split _ _ [] = [] split fields sep str = splitting str where splitting rest = case span (/= sep) rest of (_, []) -> cons rest [] (prfx, _ : rest') -> cons prfx (splitting rest') cons item = if fields || not (null item) then (:) item else id -- structural errors err msg = error ("Malformed YXML: " ++ msg) err_attribute = err "bad attribute" err_element = err "bad element" err_unbalanced "" = err "unbalanced element" err_unbalanced name = err ("unbalanced element " ++ quote name) -- stack operations add x ((elem, body) : pending) = (elem, x : body) : pending push "" _ _ = err_element push name atts pending = ((name, atts), []) : pending pop ((("", _), _) : _) = err_unbalanced "" pop ((markup, body) : pending) = add (XML.Elem (markup, reverse body)) pending -- parsing parse_attrib s = case List.elemIndex '=' s of Just i | i > 0 -> (take i s, drop (i + 1) s) _ -> err_attribute parse_chunk ["", ""] = pop parse_chunk ("" : name : atts) = push name (map parse_attrib atts) parse_chunk txts = fold (add . XML.Text) txts parse_body :: String -> XML.Body parse_body source = case fold parse_chunk chunks [(("", []), [])] of [(("", _), result)] -> reverse result ((name, _), _) : _ -> err_unbalanced name where chunks = split False charX source |> map (split True charY) parse :: String -> XML.Tree parse source = case parse_body source of [result] -> result [] -> XML.Text "" _ -> err "multiple results" \ generate_file "Isabelle/Pretty.hs" = \ {- Title: Isabelle/Pretty.hs Author: Makarius LICENSE: BSD 3-clause (Isabelle) Generic pretty printing module. See also \<^file>\$ISABELLE_HOME/src/Pure/General/pretty.ML\. -} +{-# OPTIONS_GHC -fno-warn-missing-signatures #-} + module Isabelle.Pretty ( T, symbolic, formatted, unformatted, str, brk_indent, brk, fbrk, breaks, fbreaks, blk, block, strs, markup, mark, mark_str, marks_str, item, text_fold, keyword1, keyword2, text, paragraph, para, quote, cartouche, separate, commas, enclose, enum, list, str_list, big_list) where import Isabelle.Library hiding (quote, commas) import qualified Data.List as List import qualified Isabelle.Buffer as Buffer import qualified Isabelle.Markup as Markup import qualified Isabelle.XML as XML import qualified Isabelle.YXML as YXML data T = Block Markup.T Bool Int [T] | Break Int Int | Str String {- output -} output_spaces n = replicate n ' ' symbolic_text "" = [] symbolic_text s = [XML.Text s] symbolic_markup markup body = if Markup.is_empty markup then body else [XML.Elem (markup, body)] symbolic :: T -> XML.Body symbolic (Block markup consistent indent prts) = concatMap symbolic prts |> symbolic_markup block_markup |> symbolic_markup markup where block_markup = if null prts then Markup.empty else Markup.block consistent indent symbolic (Break wd ind) = [XML.Elem (Markup.break wd ind, symbolic_text (output_spaces wd))] symbolic (Str s) = symbolic_text s formatted :: T -> String formatted = YXML.string_of_body . symbolic unformatted :: T -> String unformatted prt = Buffer.empty |> out prt |> Buffer.content where out (Block markup _ _ prts) = let (bg, en) = YXML.output_markup markup in Buffer.add bg #> fold out prts #> Buffer.add en out (Break _ wd) = Buffer.add (output_spaces wd) out (Str s) = Buffer.add s {- derived operations to create formatting expressions -} force_nat n | n < 0 = 0 force_nat n = n str :: String -> T str = Str brk_indent :: Int -> Int -> T brk_indent wd ind = Break (force_nat wd) ind brk :: Int -> T brk wd = brk_indent wd 0 fbrk :: T fbrk = str "\n" breaks, fbreaks :: [T] -> [T] breaks = List.intersperse (brk 1) fbreaks = List.intersperse fbrk blk :: (Int, [T]) -> T blk (indent, es) = Block Markup.empty False (force_nat indent) es block :: [T] -> T block prts = blk (2, prts) strs :: [String] -> T strs = block . breaks . map str markup :: Markup.T -> [T] -> T markup m = Block m False 0 mark :: Markup.T -> T -> T mark m prt = if m == Markup.empty then prt else markup m [prt] mark_str :: (Markup.T, String) -> T mark_str (m, s) = mark m (str s) marks_str :: ([Markup.T], String) -> T marks_str (ms, s) = fold_rev mark ms (str s) item :: [T] -> T item = markup Markup.item text_fold :: [T] -> T text_fold = markup Markup.text_fold keyword1, keyword2 :: String -> T keyword1 name = mark_str (Markup.keyword1, name) keyword2 name = mark_str (Markup.keyword2, name) text :: String -> [T] text = breaks . map str . words paragraph :: [T] -> T paragraph = markup Markup.paragraph para :: String -> T para = paragraph . text quote :: T -> T quote prt = blk (1, [str "\"", prt, str "\""]) cartouche :: T -> T cartouche prt = blk (1, [str "\92", prt, str "\92"]) separate :: String -> [T] -> [T] separate sep = List.intercalate [str sep, brk 1] . map single commas :: [T] -> [T] commas = separate "," enclose :: String -> String -> [T] -> T enclose lpar rpar prts = block (str lpar : prts ++ [str rpar]) enum :: String -> String -> String -> [T] -> T enum sep lpar rpar = enclose lpar rpar . separate sep list :: String -> String -> [T] -> T list = enum "," str_list :: String -> String -> [String] -> T str_list lpar rpar = list lpar rpar . map str big_list :: String -> [T] -> T big_list name prts = block (fbreaks (str name : prts)) \ generate_file "Isabelle/Term.hs" = \ {- Title: Isabelle/Term.hs Author: Makarius LICENSE: BSD 3-clause (Isabelle) Lambda terms, types, sorts. See also \<^file>\$ISABELLE_HOME/src/Pure/term.scala\. -} module Isabelle.Term ( Indexname, Sort, dummyS, Typ(..), dummyT, is_dummyT, Term(..)) where type Indexname = (String, Int) type Sort = [String] dummyS :: Sort dummyS = [""] data Typ = Type (String, [Typ]) | TFree (String, Sort) | TVar (Indexname, Sort) deriving Show dummyT :: Typ dummyT = Type (\\<^type_name>\dummy\\, []) is_dummyT :: Typ -> Bool is_dummyT (Type (\\<^type_name>\dummy\\, [])) = True is_dummyT _ = False data Term = Const (String, [Typ]) | Free (String, Typ) | Var (Indexname, Typ) | Bound Int | Abs (String, Typ, Term) | App (Term, Term) deriving Show \ generate_file "Isabelle/Term_XML/Encode.hs" = \ {- Title: Isabelle/Term_XML/Encode.hs Author: Makarius LICENSE: BSD 3-clause (Isabelle) XML data representation of lambda terms. See also \<^file>\$ISABELLE_HOME/src/Pure/term_xml.ML\. -} {-# LANGUAGE LambdaCase #-} module Isabelle.Term_XML.Encode (indexname, sort, typ, typ_body, term) where import Isabelle.Library -import qualified Isabelle.XML as XML import Isabelle.XML.Encode import Isabelle.Term indexname :: P Indexname indexname (a, b) = if b == 0 then [a] else [a, int_atom b] sort :: T Sort sort = list string typ :: T Typ typ ty = ty |> variant [\case { Type (a, b) -> Just ([a], list typ b); _ -> Nothing }, \case { TFree (a, b) -> Just ([a], sort b); _ -> Nothing }, \case { TVar (a, b) -> Just (indexname a, sort b); _ -> Nothing }] typ_body :: T Typ typ_body ty = if is_dummyT ty then [] else typ ty term :: T Term term t = t |> variant [\case { Const (a, b) -> Just ([a], list typ b); _ -> Nothing }, \case { Free (a, b) -> Just ([a], typ_body b); _ -> Nothing }, \case { Var (a, b) -> Just (indexname a, typ_body b); _ -> Nothing }, \case { Bound a -> Just ([], int a); _ -> Nothing }, \case { Abs (a, b, c) -> Just ([a], pair typ term (b, c)); _ -> Nothing }, \case { App a -> Just ([], pair term term a); _ -> Nothing }] \ generate_file "Isabelle/Term_XML/Decode.hs" = \ {- Title: Isabelle/Term_XML/Decode.hs Author: Makarius LICENSE: BSD 3-clause (Isabelle) XML data representation of lambda terms. See also \<^file>\$ISABELLE_HOME/src/Pure/term_xml.ML\. -} +{-# OPTIONS_GHC -fno-warn-incomplete-patterns #-} + module Isabelle.Term_XML.Decode (indexname, sort, typ, typ_body, term) where import Isabelle.Library -import qualified Isabelle.XML as XML import Isabelle.XML.Decode import Isabelle.Term indexname :: P Indexname indexname [a] = (a, 0) indexname [a, b] = (a, int_atom b) sort :: T Sort sort = list string typ :: T Typ typ ty = ty |> variant [\([a], b) -> Type (a, list typ b), \([a], b) -> TFree (a, sort b), \(a, b) -> TVar (indexname a, sort b)] typ_body :: T Typ typ_body [] = dummyT typ_body body = typ body term :: T Term term t = t |> variant [\([a], b) -> Const (a, list typ b), \([a], b) -> Free (a, typ_body b), \(a, b) -> Var (indexname a, typ_body b), \([], a) -> Bound (int a), \([a], b) -> let (c, d) = pair typ term b in Abs (a, c, d), \([], a) -> App (pair term term a)] \ generate_file "Isabelle/UUID.hs" = \ {- Title: Isabelle/UUID.hs Author: Makarius LICENSE: BSD 3-clause (Isabelle) Universally unique identifiers. See \<^file>\$ISABELLE_HOME/src/Pure/General/uuid.scala\. -} module Isabelle.UUID ( T, parse_string, parse_bytes, string, bytes, random, random_string, random_bytes ) where import Data.ByteString (ByteString) -import qualified Data.ByteString import Data.UUID (UUID) import qualified Data.UUID as UUID import Data.UUID.V4 (nextRandom) type T = UUID {- parse -} parse_string :: String -> Maybe T parse_string = UUID.fromString parse_bytes :: ByteString -> Maybe T parse_bytes = UUID.fromASCIIBytes {- print -} string :: T -> String string = UUID.toString bytes :: T -> ByteString bytes = UUID.toASCIIBytes {- random id -} random :: IO T random = nextRandom random_string :: IO String random_string = string <$> random random_bytes :: IO ByteString random_bytes = bytes <$> random \ generate_file "Isabelle/Byte_Message.hs" = \ {- Title: Isabelle/Byte_Message.hs Author: Makarius LICENSE: BSD 3-clause (Isabelle) Byte-oriented messages. See \<^file>\$ISABELLE_HOME/src/Pure/PIDE/byte_message.ML\ and \<^file>\$ISABELLE_HOME/src/Pure/PIDE/byte_message.scala\. -} +{-# OPTIONS_GHC -fno-warn-incomplete-patterns #-} + module Isabelle.Byte_Message ( write, write_line, read, read_block, trim_line, read_line, make_message, write_message, read_message, - make_line_message, write_line_message, read_line_message + make_line_message, write_line_message, read_line_message, + read_yxml, write_yxml ) where import Prelude hiding (read) import Data.Maybe import Data.ByteString (ByteString) import qualified Data.ByteString as ByteString import qualified Data.ByteString.UTF8 as UTF8 -import Data.Word (Word8) - -import Control.Monad (when) +import qualified Isabelle.XML as XML +import qualified Isabelle.YXML as YXML + import Network.Socket (Socket) -import qualified Network.Socket as Socket import qualified Network.Socket.ByteString as ByteString import Isabelle.Library hiding (trim_line) import qualified Isabelle.Value as Value {- output operations -} write :: Socket -> [ByteString] -> IO () write = ByteString.sendMany newline :: ByteString newline = ByteString.singleton 10 write_line :: Socket -> ByteString -> IO () write_line socket s = write socket [s, newline] {- input operations -} read :: Socket -> Int -> IO ByteString read socket n = read_body 0 [] where result = ByteString.concat . reverse read_body len ss = if len >= n then return (result ss) else (do s <- ByteString.recv socket (min (n - len) 8192) case ByteString.length s of 0 -> return (result ss) m -> read_body (len + m) (s : ss)) read_block :: Socket -> Int -> IO (Maybe ByteString, Int) read_block socket n = do msg <- read socket n let len = ByteString.length msg return (if len == n then Just msg else Nothing, len) trim_line :: ByteString -> ByteString trim_line s = if n >= 2 && at (n - 2) == 13 && at (n - 1) == 10 then ByteString.take (n - 2) s else if n >= 1 && (at (n - 1) == 13 || at (n - 1) == 10) then ByteString.take (n - 1) s else s where n = ByteString.length s at = ByteString.index s read_line :: Socket -> IO (Maybe ByteString) read_line socket = read_body [] where result = trim_line . ByteString.pack . reverse read_body bs = do s <- ByteString.recv socket 1 case ByteString.length s of 0 -> return (if null bs then Nothing else Just (result bs)) 1 -> case ByteString.head s of 10 -> return (Just (result bs)) b -> read_body (b : bs) {- messages with multiple chunks (arbitrary content) -} make_header :: [Int] -> [ByteString] make_header ns = [UTF8.fromString (space_implode "," (map Value.print_int ns)), newline] make_message :: [ByteString] -> [ByteString] make_message chunks = make_header (map ByteString.length chunks) ++ chunks write_message :: Socket -> [ByteString] -> IO () write_message socket = write socket . make_message parse_header :: ByteString -> [Int] parse_header line = let res = map Value.parse_nat (space_explode ',' (UTF8.toString line)) in if all isJust res then map fromJust res else error ("Malformed message header: " ++ quote (UTF8.toString line)) read_chunk :: Socket -> Int -> IO ByteString read_chunk socket n = do res <- read_block socket n return $ case res of (Just chunk, _) -> chunk (Nothing, len) -> error ("Malformed message chunk: unexpected EOF after " ++ show len ++ " of " ++ show n ++ " bytes") read_message :: Socket -> IO (Maybe [ByteString]) read_message socket = do res <- read_line socket case res of Just line -> Just <$> mapM (read_chunk socket) (parse_header line) Nothing -> return Nothing -- hybrid messages: line or length+block (with content restriction) is_length :: ByteString -> Bool is_length msg = not (ByteString.null msg) && ByteString.all (\b -> 48 <= b && b <= 57) msg is_terminated :: ByteString -> Bool is_terminated msg = not (ByteString.null msg) && (ByteString.last msg == 13 || ByteString.last msg == 10) make_line_message :: ByteString -> [ByteString] make_line_message msg = let n = ByteString.length msg in if is_length msg || is_terminated msg then error ("Bad content for line message:\n" ++ take 100 (UTF8.toString msg)) else (if n > 100 || ByteString.any (== 10) msg then make_header [n + 1] else []) ++ [msg, newline] write_line_message :: Socket -> ByteString -> IO () write_line_message socket = write socket . make_line_message read_line_message :: Socket -> IO (Maybe ByteString) read_line_message socket = do opt_line <- read_line socket case opt_line of Nothing -> return Nothing Just line -> case Value.parse_nat (UTF8.toString line) of Nothing -> return $ Just line Just n -> fmap trim_line . fst <$> read_block socket n + + +read_yxml :: Socket -> IO (Maybe XML.Body) +read_yxml socket = do + res <- read_line_message socket + return (YXML.parse_body . UTF8.toString <$> res) + +write_yxml :: Socket -> XML.Body -> IO () +write_yxml socket body = + write_line_message socket (UTF8.fromString (YXML.string_of_body body)) \ generate_file "Isabelle/Isabelle_Thread.hs" = \ {- Title: Isabelle/Isabelle_Thread.hs Author: Makarius LICENSE: BSD 3-clause (Isabelle) Isabelle-specific thread management. See \<^file>\$ISABELLE_HOME/src/Pure/Concurrent/isabelle_thread.ML\ and \<^file>\$ISABELLE_HOME/src/Pure/Concurrent/isabelle_thread.scala\. -} {-# LANGUAGE NamedFieldPuns #-} module Isabelle.Isabelle_Thread ( ThreadId, Result, find_id, properties, change_properties, add_resource, del_resource, bracket_resource, is_stopped, expose_stopped, stop, my_uuid, stop_uuid, Fork, fork_finally, fork) where import Data.Unique -import Data.Maybe import Data.IORef import System.IO.Unsafe import qualified Data.List as List import Control.Monad (when, forM_) import Data.Map.Strict (Map) import qualified Data.Map.Strict as Map -import Control.Exception.Base (SomeException) import Control.Exception as Exception import Control.Concurrent (ThreadId) import qualified Control.Concurrent as Concurrent import Control.Concurrent.Thread (Result) import qualified Control.Concurrent.Thread as Thread import qualified Isabelle.UUID as UUID import qualified Isabelle.Properties as Properties {- thread info -} type Resources = Map Unique (IO ()) data Info = Info {uuid :: UUID.T, props :: Properties.T, stopped :: Bool, resources :: Resources} type Infos = Map ThreadId Info lookup_info :: Infos -> ThreadId -> Maybe Info lookup_info infos id = Map.lookup id infos init_info :: ThreadId -> UUID.T -> Infos -> (Infos, ()) init_info id uuid infos = (Map.insert id (Info uuid [] False Map.empty) infos, ()) {- global state -} {-# NOINLINE global_state #-} global_state :: IORef Infos global_state = unsafePerformIO (newIORef Map.empty) find_id :: UUID.T -> IO (Maybe ThreadId) find_id uuid = do state <- readIORef global_state return $ fst <$> List.find (\(_, Info{uuid = uuid'}) -> uuid == uuid') (Map.assocs state) get_info :: ThreadId -> IO (Maybe Info) get_info id = do state <- readIORef global_state return $ lookup_info state id map_info :: ThreadId -> (Info -> Info) -> IO (Maybe Info) map_info id f = atomicModifyIORef' global_state (\infos -> case lookup_info infos id of Nothing -> (infos, Nothing) Just info -> let info' = f info in (Map.insert id info' infos, Just info')) delete_info :: ThreadId -> IO () delete_info id = atomicModifyIORef' global_state (\infos -> (Map.delete id infos, ())) {- thread properties -} my_info :: IO (Maybe Info) my_info = do id <- Concurrent.myThreadId get_info id properties :: IO Properties.T properties = maybe [] props <$> my_info change_properties :: (Properties.T -> Properties.T) -> IO () change_properties f = do id <- Concurrent.myThreadId map_info id (\info -> info {props = f (props info)}) return () {- managed resources -} add_resource :: IO () -> IO Unique add_resource resource = do id <- Concurrent.myThreadId u <- newUnique map_info id (\info -> info {resources = Map.insert u resource (resources info)}) return u del_resource :: Unique -> IO () del_resource u = do id <- Concurrent.myThreadId map_info id (\info -> info {resources = Map.delete u (resources info)}) return () bracket_resource :: IO () -> IO a -> IO a bracket_resource resource body = Exception.bracket (add_resource resource) del_resource (const body) {- stop -} is_stopped :: IO Bool is_stopped = maybe False stopped <$> my_info expose_stopped :: IO () expose_stopped = do stopped <- is_stopped when stopped $ throw ThreadKilled stop :: ThreadId -> IO () stop id = do info <- map_info id (\info -> info {stopped = True}) let ops = case info of Nothing -> []; Just Info{resources} -> map snd (Map.toDescList resources) sequence_ ops {- UUID -} my_uuid :: IO (Maybe UUID.T) my_uuid = fmap uuid <$> my_info stop_uuid :: UUID.T -> IO () stop_uuid uuid = do id <- find_id uuid forM_ id stop {- fork -} type Fork a = (ThreadId, UUID.T, IO (Result a)) fork_finally :: IO a -> (Either SomeException a -> IO b) -> IO (Fork b) fork_finally body finally = do uuid <- UUID.random (id, result) <- Exception.mask (\restore -> Thread.forkIO (Exception.try (do id <- Concurrent.myThreadId atomicModifyIORef' global_state (init_info id uuid) restore body) >>= (\res -> do id <- Concurrent.myThreadId; delete_info id; finally res))) return (id, uuid, result) fork :: IO a -> IO (Fork a) fork body = fork_finally body Thread.result \ generate_file "Isabelle/Server.hs" = \ {- Title: Isabelle/Server.hs Author: Makarius LICENSE: BSD 3-clause (Isabelle) TCP server on localhost. -} module Isabelle.Server ( localhost_name, localhost, publish_text, publish_stdout, - server + server, connection ) where import Data.ByteString (ByteString) import Control.Monad (forever, when) import qualified Control.Exception as Exception import Network.Socket (Socket) import qualified Network.Socket as Socket import qualified System.IO as IO import Isabelle.Library import qualified Isabelle.UUID as UUID import qualified Isabelle.Byte_Message as Byte_Message import qualified Isabelle.Isabelle_Thread as Isabelle_Thread +import qualified Data.ByteString.UTF8 as UTF8 {- server address -} localhost_name :: String localhost_name = "127.0.0.1" localhost :: Socket.HostAddress localhost = Socket.tupleToHostAddress (127, 0, 0, 1) publish_text :: String -> String -> UUID.T -> String publish_text name address password = "server " ++ quote name ++ " = " ++ address ++ " (password " ++ quote (show password) ++ ")" publish_stdout :: String -> String -> UUID.T -> IO () publish_stdout name address password = putStrLn (publish_text name address password) {- server -} server :: (String -> UUID.T -> IO ()) -> (Socket -> IO ()) -> IO () server publish handle = Socket.withSocketsDo $ Exception.bracket open (Socket.close . fst) (uncurry loop) where open :: IO (Socket, ByteString) open = do server_socket <- Socket.socket Socket.AF_INET Socket.Stream Socket.defaultProtocol Socket.bind server_socket (Socket.SockAddrInet 0 localhost) Socket.listen server_socket 50 port <- Socket.socketPort server_socket let address = localhost_name ++ ":" ++ show port password <- UUID.random publish address password return (server_socket, UUID.bytes password) loop :: Socket -> ByteString -> IO () loop server_socket password = forever $ do (connection, _) <- Socket.accept server_socket Isabelle_Thread.fork_finally (do line <- Byte_Message.read_line connection when (line == Just password) $ handle connection) (\finally -> do Socket.close connection case finally of Left exn -> IO.hPutStrLn IO.stderr $ Exception.displayException exn Right () -> return ()) return () + + +{- client connection -} + +connection :: String -> String -> (Socket -> IO a) -> IO a +connection port password client = + Socket.withSocketsDo $ do + addr <- resolve + Exception.bracket (open addr) Socket.close body + where + resolve = do + let hints = + Socket.defaultHints { + Socket.addrFlags = [Socket.AI_NUMERICHOST, Socket.AI_NUMERICSERV], + Socket.addrSocketType = Socket.Stream } + head <$> Socket.getAddrInfo (Just hints) (Just "127.0.0.1") (Just port) + + open addr = do + socket <- Socket.socket (Socket.addrFamily addr) (Socket.addrSocketType addr) + (Socket.addrProtocol addr) + Socket.connect socket $ Socket.addrAddress addr + return socket + + body socket = do + Byte_Message.write_line socket (UTF8.fromString password) + client socket \ export_generated_files _ end diff --git a/src/Tools/VSCode/extension/README.md b/src/Tools/VSCode/extension/README.md --- a/src/Tools/VSCode/extension/README.md +++ b/src/Tools/VSCode/extension/README.md @@ -1,189 +1,190 @@ # Isabelle Prover IDE support This extension connects VSCode to the Isabelle Prover IDE infrastructure: it -requires a repository version of Isabelle. +requires Isabelle2021. The implementation is centered around the VSCode Language Server protocol, but with many add-ons that are specific to VSCode and Isabelle/PIDE. See also: - * + * + * * ## Screenshot ![[Isabelle/VSCode]](https://isabelle.in.tum.de/repos/isabelle/raw-file/b565a39627bb/src/Tools/VSCode/extension/isabelle_vscode.png) ## Notable Features * Static syntax tables for Isabelle `.thy` and `.ML` files. * Implicit dependency management of sources, subject to changes of theory files within the editor, as well as external file-system events. * Implicit formal checking of theory files, using the *cursor position* of the active editor panel as indication for relevant spots. * Text overview lane with formal status of prover commands (unprocessed, running, error, warning). * Prover messages within the source text (errors/warnings and information messages). * Semantic text decorations: colors for free/bound variables, inferred types etc. * Visual indication of formal scopes and hyperlinks for formal entities. * Implicit proof state output via the VSCode message channel "Isabelle Output". * Explicit proof state output via separate GUI panel (command `isabelle.state`). * HTML preview via separate GUI panel (command `isabelle.preview`). * Rich completion information: Isabelle symbols (e.g. `\forall` or `\`), outer syntax keywords, formal entities, file-system paths, BibTeX entries etc. * Spell-checking of informal texts, including dictionary operations: via the regular completion dialog. ## Requirements ### Isabelle/VSCode Installation - * Download a recent Isabelle development snapshot from - + * Download Isabelle2021 from + or any of its mirror sites. * Unpack and run the main Isabelle/jEdit application as usual, to ensure that the logic image is built properly and Isabelle works as expected. * Download and install VSCode from * Open the VSCode *Extensions* view and install the following: - + *Isabelle* (needs to fit to the underlying Isabelle release). + + *Isabelle2021* (needs to fit to the underlying Isabelle release). + *Prettify Symbols Mode* (important for display of Isabelle symbols). + *bibtexLanguage* (optional): it gives `.bib` a formal status, thus `@{cite}` antiquotations become active for completion and hyperlinks. * Open the dialog *Preferences / User settings* and provide the following entries in the second window, where local user additions are stored: + On all platforms: `isabelle.home` needs to point to the main Isabelle directory (`$ISABELLE_HOME`). + On Windows: use drive-letter and backslashes for `isabelle.home` above. When running from a bare repository clone (not a development snapshot), `isabelle.cygwin_home` needs to point to a suitable Cygwin installation. Examples: + Linux: ``` - "isabelle.home": "/home/makarius/Isabelle" + "isabelle.home": "/home/makarius/Isabelle2021" ``` + Mac OS X: ``` - "isabelle.home": "/Users/makarius/Isabelle.app/Isabelle" + "isabelle.home": "/Users/makarius/Isabelle.app/Isabelle2021" ``` + Windows: ``` - "isabelle.home": "C:\\Users\\makarius\\Isabelle" + "isabelle.home": "C:\\Users\\makarius\\Isabelle2021" ``` * Restart the VSCode application to ensure that all extensions are properly initialized and user settings are updated. Afterwards VSCode should know about `.thy` files (Isabelle theories) and `.ML` files (Isabelle/ML modules). The Isabelle extension is initialized when the first Isabelle file is opened. It requires a few seconds to start up: a small popup window eventually says *"Welcome to Isabelle ..."*. If that fails, there might be something wrong with `isabelle.home` from above, or the Isabelle distribution does not fit to the version of the VSCode extension from the Marketplace. ### Support for Isabelle symbols Isabelle symbols like `\` are rendered using the extension *Prettify Symbols Mode*, which needs to be installed separately. In addition, the following user settings should be changed in the *Preferences / User settings* dialog of VSCode: ``` "prettifySymbolsMode.substitutions": [ { "language": "isabelle", "revealOn": "none", "adjustCursorMovement": true, "prettyCursor": "none", "substitutions": [] }, { "language": "isabelle-ml", "revealOn": "none", "adjustCursorMovement": true, "prettyCursor": "none", "substitutions": [] }] ``` Actual symbol replacement tables are provided by the prover process on startup, based on the usual `etc/symbols` specifications of the Isabelle installation. ### Further Preferences * Preferred Color Theme: `Light+ (default light)` * Alternative Color Theme: `Dark+ (default dark)` – with restrictions: some color combinations don't work out properly. * Recommended changes to default VSCode settings: ``` "editor.acceptSuggestionOnEnter": "off", "editor.lineNumbers": "off", "editor.renderIndentGuides": false, "editor.rulers": [80, 100], "editor.wordBasedSuggestions": true, ``` ## Known Limitations of Isabelle/VSCode * Lack of specific support for the Isabelle fonts: these need to be manually installed on the system and configured for VSCode (see also `$ISABELLE_FONTS` within the Isabelle environment). **Note:** As the Isabelle fonts continue to evolve, installed versions need to be updated according to each new Isabelle version. * Isabelle symbols are merely an optical illusion: it would be better to make them a first-class Unicode charset as in Isabelle/jEdit. * Isabelle symbol abbreviations like "-->" are not accepted by VSCode. * Lack of formal editor perspective in VSCode: only the cursor position is used (with some surrounding lines of text). * Lack of formal markup in prover messages and popups. * Lack of pretty-printing (logical line breaks) according to window and font dimensions. * Lack of GUI panels for Sledgehammer, Query operations etc. * Big theory files may cause problems to the VSCode rendering engine, since messages and text decorations are applied to the text as a whole (cf. the minimap view). diff --git a/src/Tools/VSCode/extension/package.json b/src/Tools/VSCode/extension/package.json --- a/src/Tools/VSCode/extension/package.json +++ b/src/Tools/VSCode/extension/package.json @@ -1,297 +1,555 @@ { - "name": "Isabelle", - "displayName": "Isabelle", + "name": "Isabelle2021", + "displayName": "Isabelle2021", "description": "Isabelle Prover IDE", "keywords": [ "theorem prover", "formalized mathematics", "mathematical logic", "functional programming", "document preparation" ], "icon": "isabelle.png", - "version": "1.2.1", + "version": "1.2.2", "publisher": "makarius", "license": "MIT", "repository": { "url": "https://isabelle-dev.sketis.net" }, "engines": { "vscode": "^1.32.0" }, "categories": [ "Programming Languages" ], "activationEvents": [ "onLanguage:isabelle", "onLanguage:isabelle-ml", "onLanguage:bibtex", "onCommand:isabelle.preview", "onCommand:isabelle.preview-split" ], "main": "./out/src/extension", "contributes": { "commands": [ { "command": "isabelle.state", "title": "Show State", "category": "Isabelle" }, { "command": "isabelle.preview", "title": "Open Preview", "category": "Isabelle", "icon": { "light": "./media/Preview.svg", "dark": "./media/Preview_inverse.svg" } }, { "command": "isabelle.preview-split", "title": "Open Preview (Split Editor)", "category": "Isabelle", "icon": { "light": "./media/PreviewOnRightPane_16x.svg", "dark": "./media/PreviewOnRightPane_16x_dark.svg" } }, { "command": "isabelle.include-word", "title": "Include word", "category": "Isabelle" }, { "command": "isabelle.include-word-permanently", "title": "Include word permanently", "category": "Isabelle" }, { "command": "isabelle.exclude-word", "title": "Exclude word", "category": "Isabelle" }, { "command": "isabelle.exclude-word-permanently", "title": "Exclude word permanently", "category": "Isabelle" }, { "command": "isabelle.reset-words", "title": "Reset non-permanent words", "category": "Isabelle" } ], "menus": { "editor/title": [ { "when": "editorLangId == isabelle", "command": "isabelle.preview", "group": "navigation" }, { "when": "editorLangId == isabelle-ml", "command": "isabelle.preview", "group": "navigation" }, { "when": "editorLangId == bibtex", "command": "isabelle.preview", "group": "navigation" }, { "when": "editorLangId == isabelle", "command": "isabelle.preview-split", "group": "navigation" }, { "when": "editorLangId == isabelle-ml", "command": "isabelle.preview-split", "group": "navigation" }, { "when": "editorLangId == bibtex", "command": "isabelle.preview-split", "group": "navigation" } ], "explorer/context": [ { "when": "resourceLangId == isabelle", "command": "isabelle.preview", "group": "navigation" }, { "when": "resourceLangId == isabelle-ml", "command": "isabelle.preview", "group": "navigation" }, { "when": "resourceLangId == bibtex", "command": "isabelle.preview", "group": "navigation" } ] }, "languages": [ { "id": "isabelle", "aliases": [ "Isabelle" ], "extensions": [ ".thy" ], "configuration": "./isabelle-language.json" }, { "id": "isabelle-ml", "aliases": [ "Isabelle/ML" ], "extensions": [ ".ML", ".sml", ".sig" ], "configuration": "./isabelle-ml-language.json" } ], "grammars": [ { "language": "isabelle", "scopeName": "source.isabelle", "path": "./isabelle-grammar.json" }, { "language": "isabelle-ml", "scopeName": "source.isabelle-ml", "path": "./isabelle-ml-grammar.json" } ], "configuration": { "title": "Isabelle", "properties": { "isabelle.home": { "type": "string", "default": "", "description": "Main Isabelle directory (ISABELLE_HOME)." }, "isabelle.args": { "type": "array", "items": { "type": "string" }, "default": [], "description": "Command-line arguments for isabelle vscode_server process." }, "isabelle.cygwin_root": { "type": "string", "default": "", "description": "Cygwin installation on Windows (only relevant when running directly from the Isabelle repository)." }, - "isabelle.unprocessed_light_color": { "type": "string", "default": "rgba(255, 160, 160, 1.00)" }, - "isabelle.unprocessed_dark_color": { "type": "string", "default": "rgba(97, 0, 97, 1.00)" }, - "isabelle.unprocessed1_light_color": { "type": "string", "default": "rgba(255, 160, 160, 0.20)" }, - "isabelle.unprocessed1_dark_color": { "type": "string", "default": "rgba(97, 0, 97, 0.20)" }, - "isabelle.running_light_color": { "type": "string", "default": "rgba(97, 0, 97, 1.00)" }, - "isabelle.running_dark_color": { "type": "string", "default": "rgba(255, 160, 160, 1.00)" }, - "isabelle.running1_light_color": { "type": "string", "default": "rgba(97, 0, 97, 0.40)" }, - "isabelle.running1_dark_color": { "type": "string", "default": "rgba(255, 160, 160, 0.40)" }, - "isabelle.canceled_light_color": { "type": "string", "default": "rgba(255, 106, 106, 0.40)" }, - "isabelle.canceled_dark_color": { "type": "string", "default": "rgba(255, 106, 106, 0.40)" }, - "isabelle.bad_light_color": { "type": "string", "default": "rgba(255, 106, 106, 0.40)" }, - "isabelle.bad_dark_color": { "type": "string", "default": "rgba(255, 106, 106, 0.40)" }, - "isabelle.intensify_light_color": { "type": "string", "default": "rgba(255, 204, 102, 0.40)" }, - "isabelle.intensify_dark_color": { "type": "string", "default": "rgba(204, 136, 0, 0.20)" }, - "isabelle.markdown_bullet1_light_color": { "type": "string", "default": "rgba(218, 254, 218, 1.00)" }, - "isabelle.markdown_bullet1_dark_color": { "type": "string", "default": "rgba(5, 199, 5, 0.20)" }, - "isabelle.markdown_bullet2_light_color": { "type": "string", "default": "rgba(255, 240, 204, 1.00)" }, - "isabelle.markdown_bullet2_dark_color": { "type": "string", "default": "rgba(204, 143, 0, 0.20)" }, - "isabelle.markdown_bullet3_light_color": { "type": "string", "default": "rgba(231, 231, 255, 1.00)" }, - "isabelle.markdown_bullet3_dark_color": { "type": "string", "default": "rgba(0, 0, 204, 0.20)" }, - "isabelle.markdown_bullet4_light_color": { "type": "string", "default": "rgba(255, 224, 240, 1.00)" }, - "isabelle.markdown_bullet4_dark_color": { "type": "string", "default": "rgba(204, 0, 105, 0.20)" }, - "isabelle.quoted_light_color": { "type": "string", "default": "rgba(139, 139, 139, 0.10)" }, - "isabelle.quoted_dark_color": { "type": "string", "default": "rgba(150, 150, 150, 0.15)" }, - "isabelle.antiquoted_light_color": { "type": "string", "default": "rgba(255, 200, 50, 0.10)" }, - "isabelle.antiquoted_dark_color": { "type": "string", "default": "rgba(255, 214, 102, 0.15)" }, - "isabelle.writeln_light_color": { "type": "string", "default": "rgba(192, 192, 192, 1.0)" }, - "isabelle.writeln_dark_color": { "type": "string", "default": "rgba(192, 192, 192, 1.0)" }, - "isabelle.information_light_color": { "type": "string", "default": "rgba(193, 223, 238, 1.0)" }, - "isabelle.information_dark_color": { "type": "string", "default": "rgba(193, 223, 238, 1.0)" }, - "isabelle.warning_light_color": { "type": "string", "default": "rgba(255, 140, 0, 1.0)" }, - "isabelle.warning_dark_color": { "type": "string", "default": "rgba(255, 140, 0, 1.0)" }, - "isabelle.error_light_color": { "type": "string", "default": "rgba(178, 34, 34, 1.00)" }, - "isabelle.error_dark_color": { "type": "string", "default": "rgba(178, 34, 34, 1.00)" }, - "isabelle.spell_checker_light_color": { "type": "string", "default": "rgba(0, 0, 255, 1.0)" }, - "isabelle.spell_checker_dark_color": { "type": "string", "default": "rgba(86, 156, 214, 1.00)" }, - "isabelle.main_light_color": { "type": "string", "default": "rgba(0, 0, 0, 1.00)" }, - "isabelle.main_dark_color": { "type": "string", "default": "rgba(212, 212, 212, 1.00)" }, - "isabelle.keyword1_light_color": { "type": "string", "default": "rgba(175, 0, 219, 1.00)" }, - "isabelle.keyword1_dark_color": { "type": "string", "default": "rgba(197, 134, 192, 1.00)" }, - "isabelle.keyword2_light_color": { "type": "string", "default": "rgba(9, 136, 90, 1.00)" }, - "isabelle.keyword2_dark_color": { "type": "string", "default": "rgba(181, 206, 168, 1.00)" }, - "isabelle.keyword3_light_color": { "type": "string", "default": "rgba(38, 127, 153, 1.00)" }, - "isabelle.keyword3_dark_color": { "type": "string", "default": "rgba(78, 201, 176), 1.00)" }, - "isabelle.quasi_keyword_light_color": { "type": "string", "default": "rgba(153, 102, 255, 1.00)" }, - "isabelle.quasi_keyword_dark_color": { "type": "string", "default": "rgba(153, 102, 255, 1.00)" }, - "isabelle.improper_light_color": { "type": "string", "default": "rgba(205, 49, 49, 1.00)" }, - "isabelle.improper_dark_color": { "type": "string", "default": "rgba(244, 71, 71, 1.00)" }, - "isabelle.operator_light_color": { "type": "string", "default": "rgba(50, 50, 50, 1.00)" }, - "isabelle.operator_dark_color": { "type": "string", "default": "rgba(212, 212, 212, 1.00)" }, - "isabelle.tfree_light_color": { "type": "string", "default": "rgba(160, 32, 240, 1.00)" }, - "isabelle.tfree_dark_color": { "type": "string", "default": "rgba(160, 32, 240, 1.00)" }, - "isabelle.tvar_light_color": { "type": "string", "default": "rgba(160, 32, 240, 1.00)" }, - "isabelle.tvar_dark_color": { "type": "string", "default": "rgba(160, 32, 240, 1.00)" }, - "isabelle.free_light_color": { "type": "string", "default": "rgba(0, 0, 255, 1.00)" }, - "isabelle.free_dark_color": { "type": "string", "default": "rgba(86, 156, 214, 1.00)" }, - "isabelle.skolem_light_color": { "type": "string", "default": "rgba(210, 105, 30, 1.00)" }, - "isabelle.skolem_dark_color": { "type": "string", "default": "rgba(210, 105, 30, 1.00)" }, - "isabelle.bound_light_color": { "type": "string", "default": "rgba(0, 128, 0, 1.00)" }, - "isabelle.bound_dark_color": { "type": "string", "default": "rgba(96, 139, 78, 1.00)" }, - "isabelle.var_light_color": { "type": "string", "default": "rgba(0, 16, 128, 1.00)" }, - "isabelle.var_dark_color": { "type": "string", "default": "rgba(156, 220, 254, 1.00)" }, - "isabelle.inner_numeral_light_color": { "type": "string", "default": "rgba(9, 136, 90, 1.00)" }, - "isabelle.inner_numeral_dark_color": { "type": "string", "default": "rgba(181, 206, 168, 1.00)" }, - "isabelle.inner_quoted_light_color": { "type": "string", "default": "rgba(163, 21, 21, 1.00)" }, - "isabelle.inner_quoted_dark_color": { "type": "string", "default": "rgba(206, 145, 120, 1.00)" }, - "isabelle.inner_cartouche_light_color": { "type": "string", "default": "rgba(129, 31, 63, 1.00)" }, - "isabelle.inner_cartouche_dark_color": { "type": "string", "default": "rgba(209, 105, 105, 1.00)" }, - "isabelle.inner_comment_light_color": { "type": "string", "default": "rgba(0, 128, 0, 1.00)" }, - "isabelle.inner_comment_dark_color": { "type": "string", "default": "rgba(96, 139, 78, 1.00)" }, - "isabelle.comment1_light_color": { "type": "string", "default": "rgba(129, 31, 63, 1.00)" }, - "isabelle.comment1_dark_color": { "type": "string", "default": "rgba(100, 102, 149, 1.00)" }, - "isabelle.comment2_light_color": { "type": "string", "default": "rgba(209, 105, 105, 1.00)" }, - "isabelle.comment2_dark_color": { "type": "string", "default": "rgba(206, 155, 120, 1.00)" }, - "isabelle.comment3_light_color": { "type": "string", "default": "rgba(0, 128, 0, 1.00)" }, - "isabelle.comment3_dark_color": { "type": "string", "default": "rgba(96, 139, 78, 1.00)" }, - "isabelle.dynamic_light_color": { "type": "string", "default": "rgba(121, 94, 38, 1.00)" }, - "isabelle.dynamic_dark_color": { "type": "string", "default": "rgba(220, 220, 170, 1.00)" }, - "isabelle.class_parameter_light_color": { "type": "string", "default": "rgba(210, 105, 30, 1.00)" }, - "isabelle.class_parameter_dark_color": { "type": "string", "default": "rgba(210, 105, 30, 1.00)" }, - "isabelle.antiquote_light_color": { "type": "string", "default": "rgba(102, 0, 204, 1.00)" }, - "isabelle.antiquote_dark_color": { "type": "string", "default": "rgba(197, 134, 192, 1.00)" }, - "isabelle.raw_text_light_color": { "type": "string", "default": "rgba(102, 0, 204, 1.00)" }, - "isabelle.raw_text_dark_color": { "type": "string", "default": "rgba(197, 134, 192, 1.00)" }, - "isabelle.plain_text_light_color": { "type": "string", "default": "rgba(102, 0, 204, 1.00)" }, - "isabelle.plain_text_dark_color": { "type": "string", "default": "rgba(197, 134, 192, 1.00)" } + "isabelle.unprocessed_light_color": { + "type": "string", + "default": "rgba(255, 160, 160, 1.00)" + }, + "isabelle.unprocessed_dark_color": { + "type": "string", + "default": "rgba(97, 0, 97, 1.00)" + }, + "isabelle.unprocessed1_light_color": { + "type": "string", + "default": "rgba(255, 160, 160, 0.20)" + }, + "isabelle.unprocessed1_dark_color": { + "type": "string", + "default": "rgba(97, 0, 97, 0.20)" + }, + "isabelle.running_light_color": { + "type": "string", + "default": "rgba(97, 0, 97, 1.00)" + }, + "isabelle.running_dark_color": { + "type": "string", + "default": "rgba(255, 160, 160, 1.00)" + }, + "isabelle.running1_light_color": { + "type": "string", + "default": "rgba(97, 0, 97, 0.40)" + }, + "isabelle.running1_dark_color": { + "type": "string", + "default": "rgba(255, 160, 160, 0.40)" + }, + "isabelle.canceled_light_color": { + "type": "string", + "default": "rgba(255, 106, 106, 0.40)" + }, + "isabelle.canceled_dark_color": { + "type": "string", + "default": "rgba(255, 106, 106, 0.40)" + }, + "isabelle.bad_light_color": { + "type": "string", + "default": "rgba(255, 106, 106, 0.40)" + }, + "isabelle.bad_dark_color": { + "type": "string", + "default": "rgba(255, 106, 106, 0.40)" + }, + "isabelle.intensify_light_color": { + "type": "string", + "default": "rgba(255, 204, 102, 0.40)" + }, + "isabelle.intensify_dark_color": { + "type": "string", + "default": "rgba(204, 136, 0, 0.20)" + }, + "isabelle.markdown_bullet1_light_color": { + "type": "string", + "default": "rgba(218, 254, 218, 1.00)" + }, + "isabelle.markdown_bullet1_dark_color": { + "type": "string", + "default": "rgba(5, 199, 5, 0.20)" + }, + "isabelle.markdown_bullet2_light_color": { + "type": "string", + "default": "rgba(255, 240, 204, 1.00)" + }, + "isabelle.markdown_bullet2_dark_color": { + "type": "string", + "default": "rgba(204, 143, 0, 0.20)" + }, + "isabelle.markdown_bullet3_light_color": { + "type": "string", + "default": "rgba(231, 231, 255, 1.00)" + }, + "isabelle.markdown_bullet3_dark_color": { + "type": "string", + "default": "rgba(0, 0, 204, 0.20)" + }, + "isabelle.markdown_bullet4_light_color": { + "type": "string", + "default": "rgba(255, 224, 240, 1.00)" + }, + "isabelle.markdown_bullet4_dark_color": { + "type": "string", + "default": "rgba(204, 0, 105, 0.20)" + }, + "isabelle.quoted_light_color": { + "type": "string", + "default": "rgba(139, 139, 139, 0.10)" + }, + "isabelle.quoted_dark_color": { + "type": "string", + "default": "rgba(150, 150, 150, 0.15)" + }, + "isabelle.antiquoted_light_color": { + "type": "string", + "default": "rgba(255, 200, 50, 0.10)" + }, + "isabelle.antiquoted_dark_color": { + "type": "string", + "default": "rgba(255, 214, 102, 0.15)" + }, + "isabelle.writeln_light_color": { + "type": "string", + "default": "rgba(192, 192, 192, 1.0)" + }, + "isabelle.writeln_dark_color": { + "type": "string", + "default": "rgba(192, 192, 192, 1.0)" + }, + "isabelle.information_light_color": { + "type": "string", + "default": "rgba(193, 223, 238, 1.0)" + }, + "isabelle.information_dark_color": { + "type": "string", + "default": "rgba(193, 223, 238, 1.0)" + }, + "isabelle.warning_light_color": { + "type": "string", + "default": "rgba(255, 140, 0, 1.0)" + }, + "isabelle.warning_dark_color": { + "type": "string", + "default": "rgba(255, 140, 0, 1.0)" + }, + "isabelle.error_light_color": { + "type": "string", + "default": "rgba(178, 34, 34, 1.00)" + }, + "isabelle.error_dark_color": { + "type": "string", + "default": "rgba(178, 34, 34, 1.00)" + }, + "isabelle.spell_checker_light_color": { + "type": "string", + "default": "rgba(0, 0, 255, 1.0)" + }, + "isabelle.spell_checker_dark_color": { + "type": "string", + "default": "rgba(86, 156, 214, 1.00)" + }, + "isabelle.main_light_color": { + "type": "string", + "default": "rgba(0, 0, 0, 1.00)" + }, + "isabelle.main_dark_color": { + "type": "string", + "default": "rgba(212, 212, 212, 1.00)" + }, + "isabelle.keyword1_light_color": { + "type": "string", + "default": "rgba(175, 0, 219, 1.00)" + }, + "isabelle.keyword1_dark_color": { + "type": "string", + "default": "rgba(197, 134, 192, 1.00)" + }, + "isabelle.keyword2_light_color": { + "type": "string", + "default": "rgba(9, 136, 90, 1.00)" + }, + "isabelle.keyword2_dark_color": { + "type": "string", + "default": "rgba(181, 206, 168, 1.00)" + }, + "isabelle.keyword3_light_color": { + "type": "string", + "default": "rgba(38, 127, 153, 1.00)" + }, + "isabelle.keyword3_dark_color": { + "type": "string", + "default": "rgba(78, 201, 176), 1.00)" + }, + "isabelle.quasi_keyword_light_color": { + "type": "string", + "default": "rgba(153, 102, 255, 1.00)" + }, + "isabelle.quasi_keyword_dark_color": { + "type": "string", + "default": "rgba(153, 102, 255, 1.00)" + }, + "isabelle.improper_light_color": { + "type": "string", + "default": "rgba(205, 49, 49, 1.00)" + }, + "isabelle.improper_dark_color": { + "type": "string", + "default": "rgba(244, 71, 71, 1.00)" + }, + "isabelle.operator_light_color": { + "type": "string", + "default": "rgba(50, 50, 50, 1.00)" + }, + "isabelle.operator_dark_color": { + "type": "string", + "default": "rgba(212, 212, 212, 1.00)" + }, + "isabelle.tfree_light_color": { + "type": "string", + "default": "rgba(160, 32, 240, 1.00)" + }, + "isabelle.tfree_dark_color": { + "type": "string", + "default": "rgba(160, 32, 240, 1.00)" + }, + "isabelle.tvar_light_color": { + "type": "string", + "default": "rgba(160, 32, 240, 1.00)" + }, + "isabelle.tvar_dark_color": { + "type": "string", + "default": "rgba(160, 32, 240, 1.00)" + }, + "isabelle.free_light_color": { + "type": "string", + "default": "rgba(0, 0, 255, 1.00)" + }, + "isabelle.free_dark_color": { + "type": "string", + "default": "rgba(86, 156, 214, 1.00)" + }, + "isabelle.skolem_light_color": { + "type": "string", + "default": "rgba(210, 105, 30, 1.00)" + }, + "isabelle.skolem_dark_color": { + "type": "string", + "default": "rgba(210, 105, 30, 1.00)" + }, + "isabelle.bound_light_color": { + "type": "string", + "default": "rgba(0, 128, 0, 1.00)" + }, + "isabelle.bound_dark_color": { + "type": "string", + "default": "rgba(96, 139, 78, 1.00)" + }, + "isabelle.var_light_color": { + "type": "string", + "default": "rgba(0, 16, 128, 1.00)" + }, + "isabelle.var_dark_color": { + "type": "string", + "default": "rgba(156, 220, 254, 1.00)" + }, + "isabelle.inner_numeral_light_color": { + "type": "string", + "default": "rgba(9, 136, 90, 1.00)" + }, + "isabelle.inner_numeral_dark_color": { + "type": "string", + "default": "rgba(181, 206, 168, 1.00)" + }, + "isabelle.inner_quoted_light_color": { + "type": "string", + "default": "rgba(163, 21, 21, 1.00)" + }, + "isabelle.inner_quoted_dark_color": { + "type": "string", + "default": "rgba(206, 145, 120, 1.00)" + }, + "isabelle.inner_cartouche_light_color": { + "type": "string", + "default": "rgba(129, 31, 63, 1.00)" + }, + "isabelle.inner_cartouche_dark_color": { + "type": "string", + "default": "rgba(209, 105, 105, 1.00)" + }, + "isabelle.inner_comment_light_color": { + "type": "string", + "default": "rgba(0, 128, 0, 1.00)" + }, + "isabelle.inner_comment_dark_color": { + "type": "string", + "default": "rgba(96, 139, 78, 1.00)" + }, + "isabelle.comment1_light_color": { + "type": "string", + "default": "rgba(129, 31, 63, 1.00)" + }, + "isabelle.comment1_dark_color": { + "type": "string", + "default": "rgba(100, 102, 149, 1.00)" + }, + "isabelle.comment2_light_color": { + "type": "string", + "default": "rgba(209, 105, 105, 1.00)" + }, + "isabelle.comment2_dark_color": { + "type": "string", + "default": "rgba(206, 155, 120, 1.00)" + }, + "isabelle.comment3_light_color": { + "type": "string", + "default": "rgba(0, 128, 0, 1.00)" + }, + "isabelle.comment3_dark_color": { + "type": "string", + "default": "rgba(96, 139, 78, 1.00)" + }, + "isabelle.dynamic_light_color": { + "type": "string", + "default": "rgba(121, 94, 38, 1.00)" + }, + "isabelle.dynamic_dark_color": { + "type": "string", + "default": "rgba(220, 220, 170, 1.00)" + }, + "isabelle.class_parameter_light_color": { + "type": "string", + "default": "rgba(210, 105, 30, 1.00)" + }, + "isabelle.class_parameter_dark_color": { + "type": "string", + "default": "rgba(210, 105, 30, 1.00)" + }, + "isabelle.antiquote_light_color": { + "type": "string", + "default": "rgba(102, 0, 204, 1.00)" + }, + "isabelle.antiquote_dark_color": { + "type": "string", + "default": "rgba(197, 134, 192, 1.00)" + }, + "isabelle.raw_text_light_color": { + "type": "string", + "default": "rgba(102, 0, 204, 1.00)" + }, + "isabelle.raw_text_dark_color": { + "type": "string", + "default": "rgba(197, 134, 192, 1.00)" + }, + "isabelle.plain_text_light_color": { + "type": "string", + "default": "rgba(102, 0, 204, 1.00)" + }, + "isabelle.plain_text_dark_color": { + "type": "string", + "default": "rgba(197, 134, 192, 1.00)" + } } } }, "scripts": { "vscode:prepublish": "tsc -p ./", "compile": "tsc -watch -p ./", "postinstall": "node ./node_modules/vscode/bin/install" }, "devDependencies": { "@types/mocha": "^2.2.48", - "@types/node": "^7.0.66", + "@types/node": "^7.10.14", "mocha": "^3.5.3", - "typescript": "^2.9.2", + "typescript": "^3.7.9", "vscode": "^1.1.36" }, "dependencies": { "vscode-languageclient": "~3.2.2", "vscode-languageserver-types": "~3.14.0" } } diff --git a/src/Tools/VSCode/extension/src/symbol.ts b/src/Tools/VSCode/extension/src/symbol.ts --- a/src/Tools/VSCode/extension/src/symbol.ts +++ b/src/Tools/VSCode/extension/src/symbol.ts @@ -1,147 +1,147 @@ 'use strict'; import * as library from './library' import { Disposable, DocumentSelector, ExtensionContext, extensions, window } from 'vscode' /* ASCII characters */ export type Symbol = string export function is_char(s: Symbol): boolean { return s.length == 1 } export function is_ascii_letter(s: Symbol): boolean { return is_char(s) && "A" <= s && s <= "Z" || "a" <= s && s <= "z" } export function is_ascii_digit(s: Symbol): boolean { return is_char(s) && "0" <= s && s <= "9" } export function is_ascii_quasi(s: Symbol): boolean { return s == "_" || s == "'" } export function is_ascii_letdig(s: Symbol): boolean { return is_ascii_letter(s) || is_ascii_digit(s) || is_ascii_quasi(s) } export function is_ascii_identifier(s: Symbol): boolean { const n = s.length let all_letdig = true for (const c of s) { all_letdig = all_letdig && is_ascii_letdig(c) } return n > 0 && is_ascii_letter(s.charAt(0)) && all_letdig } /* named symbols */ export interface Entry { symbol: Symbol, name: string, code: number } let symbol_entries: [Entry] const names = new Map() const codes = new Map() export function get_name(sym: Symbol): string | undefined { return names.get(sym) } export function get_code(sym: Symbol): number | undefined { return codes.get(sym) } export function get_unicode(sym: Symbol): string { const code = get_code(sym) return code ? String.fromCharCode(code) : "" } function update_entries(entries: [Entry]) { symbol_entries = entries names.clear codes.clear for (const entry of entries) { names.set(entry.symbol, entry.name) codes.set(entry.symbol, entry.code) } } /* prettify symbols mode */ interface PrettyStyleProperties { border?: string textDecoration?: string color?: string backgroundColor?: string } interface PrettyStyle extends PrettyStyleProperties { dark?: PrettyStyleProperties light?: PrettyStyleProperties } interface Substitution { ugly: string pretty: string pre?: string post?: string style?: PrettyStyle } interface LanguageEntry { language: DocumentSelector substitutions: Substitution[] } interface PrettifySymbolsMode { onDidEnabledChange: (handler: (enabled: boolean) => void) => Disposable isEnabled: () => boolean, registerSubstitutions: (substitutions: LanguageEntry) => Disposable } export function setup(context: ExtensionContext, entries: [Entry]) { update_entries(entries) const prettify_symbols_mode = extensions.getExtension("siegebell.prettify-symbols-mode") if (prettify_symbols_mode) { prettify_symbols_mode.activate().then(() => { - const substitutions = [] as [Substitution] + const substitutions: Substitution[] = [] for (const entry of names) { const sym = entry[0] substitutions.push( { ugly: library.escape_regex(sym), pretty: library.escape_regex(get_unicode(sym)) }) } for (const language of ["isabelle", "isabelle-ml", "isabelle-output"]) { context.subscriptions.push( prettify_symbols_mode.exports.registerSubstitutions( { language: language, substitutions: substitutions })) } }) } else { window.showWarningMessage("Please install extension \"Prettify Symbols Model\" and restart!") } } \ No newline at end of file diff --git a/src/Tools/jEdit/lib/Tools/jedit b/src/Tools/jEdit/lib/Tools/jedit --- a/src/Tools/jEdit/lib/Tools/jedit +++ b/src/Tools/jEdit/lib/Tools/jedit @@ -1,417 +1,419 @@ #!/usr/bin/env bash # # Author: Makarius # # DESCRIPTION: Isabelle/jEdit interface wrapper ## sources declare -a SOURCES0=( "src/Tools/jEdit/src-base/dockable.scala" "src/Tools/jEdit/src-base/isabelle_encoding.scala" "src/Tools/jEdit/src-base/jedit_lib.scala" "src/Tools/jEdit/src-base/pide_docking_framework.scala" "src/Tools/jEdit/src-base/plugin.scala" "src/Tools/jEdit/src-base/syntax_style.scala" ) declare -a RESOURCES0=( "src/Tools/jEdit/src-base/Isabelle_Base.props" "src/Tools/jEdit/src-base/services.xml" ) declare -a SOURCES=( "src/Tools/jEdit/src/active.scala" "src/Tools/jEdit/src/completion_popup.scala" "src/Tools/jEdit/src/context_menu.scala" "src/Tools/jEdit/src/debugger_dockable.scala" "src/Tools/jEdit/src/document_model.scala" "src/Tools/jEdit/src/document_view.scala" "src/Tools/jEdit/src/documentation_dockable.scala" "src/Tools/jEdit/src/fold_handling.scala" "src/Tools/jEdit/src/font_info.scala" "src/Tools/jEdit/src/graphview_dockable.scala" "src/Tools/jEdit/src/info_dockable.scala" "src/Tools/jEdit/src/isabelle.scala" "src/Tools/jEdit/src/isabelle_encoding.scala" "src/Tools/jEdit/src/isabelle_export.scala" "src/Tools/jEdit/src/isabelle_options.scala" "src/Tools/jEdit/src/isabelle_session.scala" "src/Tools/jEdit/src/isabelle_sidekick.scala" "src/Tools/jEdit/src/isabelle_vfs.scala" "src/Tools/jEdit/src/jedit_bibtex.scala" "src/Tools/jEdit/src/jedit_editor.scala" "src/Tools/jEdit/src/jedit_lib.scala" "src/Tools/jEdit/src/jedit_options.scala" "src/Tools/jEdit/src/jedit_rendering.scala" "src/Tools/jEdit/src/jedit_resources.scala" "src/Tools/jEdit/src/jedit_sessions.scala" "src/Tools/jEdit/src/jedit_spell_checker.scala" "src/Tools/jEdit/src/keymap_merge.scala" "src/Tools/jEdit/src/monitor_dockable.scala" "src/Tools/jEdit/src/output_dockable.scala" "src/Tools/jEdit/src/plugin.scala" "src/Tools/jEdit/src/pretty_text_area.scala" "src/Tools/jEdit/src/pretty_tooltip.scala" "src/Tools/jEdit/src/process_indicator.scala" "src/Tools/jEdit/src/protocol_dockable.scala" "src/Tools/jEdit/src/query_dockable.scala" "src/Tools/jEdit/src/raw_output_dockable.scala" "src/Tools/jEdit/src/rich_text_area.scala" "src/Tools/jEdit/src/scala_console.scala" "src/Tools/jEdit/src/session_build.scala" "src/Tools/jEdit/src/simplifier_trace_dockable.scala" "src/Tools/jEdit/src/simplifier_trace_window.scala" "src/Tools/jEdit/src/sledgehammer_dockable.scala" "src/Tools/jEdit/src/state_dockable.scala" "src/Tools/jEdit/src/status_widget.scala" "src/Tools/jEdit/src/symbols_dockable.scala" "src/Tools/jEdit/src/syntax_style.scala" "src/Tools/jEdit/src/syslog_dockable.scala" "src/Tools/jEdit/src/text_overview.scala" "src/Tools/jEdit/src/text_structure.scala" "src/Tools/jEdit/src/theories_dockable.scala" "src/Tools/jEdit/src/timing_dockable.scala" "src/Tools/jEdit/src/token_markup.scala" ) declare -a RESOURCES=( "src/Tools/jEdit/src/actions.xml" "src/Tools/jEdit/src/dockables.xml" "src/Tools/jEdit/src/Isabelle.props" "src/Tools/jEdit/src/jEdit.props" "src/Tools/jEdit/src/services.xml" "src/Tools/jEdit/src/modes/isabelle-ml.xml" "src/Tools/jEdit/src/modes/isabelle-news.xml" "src/Tools/jEdit/src/modes/isabelle-options.xml" "src/Tools/jEdit/src/modes/isabelle-root.xml" "src/Tools/jEdit/src/modes/isabelle.xml" "src/Tools/jEdit/src/modes/sml.xml" ) ## diagnostics PRG="$(basename "$0")" function usage() { echo echo "Usage: isabelle $PRG [OPTIONS] [FILES ...]" echo echo " Options are:" echo " -A NAME ancestor session for option -R (default: parent)" echo " -D NAME=X set JVM system property" echo " -J OPTION add JVM runtime option" echo " (default $JEDIT_JAVA_SYSTEM_OPTIONS $JEDIT_JAVA_OPTIONS)" echo " -R NAME build image with requirements from other sessions" echo " -b build only" echo " -d DIR include session directory" echo " -f fresh build" echo " -i NAME include session in name-space of theories" echo " -j OPTION add jEdit runtime option" echo " (default $JEDIT_OPTIONS)" echo " -l NAME logic session name" echo " -m MODE add print mode for output" echo " -n no build of session image on startup" echo " -p CMD ML process command prefix (process policy)" echo " -s system build mode for session image (system_heaps=true)" echo " -u user build mode for session image (system_heaps=false)" echo echo " Start jEdit with Isabelle plugin setup and open FILES" echo " (default \"$USER_HOME/Scratch.thy\" or \":\" for empty buffer)." echo exit 1 } function fail() { echo "$1" >&2 exit 2 } function failed() { fail "Failed!" } ## process command line # options BUILD_ONLY=false FRESH_BUILD="" ML_PROCESS_POLICY="" JEDIT_LOGIC_ANCESTOR="" JEDIT_LOGIC_REQUIREMENTS="" JEDIT_INCLUDE_SESSIONS="" JEDIT_SESSION_DIRS="-" JEDIT_LOGIC="" JEDIT_PRINT_MODE="" JEDIT_NO_BUILD="" JEDIT_BUILD_MODE="default" function getoptions() { OPTIND=1 while getopts "A:BFD:J:R:bd:fi:j:l:m:np:su" OPT do case "$OPT" in A) JEDIT_LOGIC_ANCESTOR="$OPTARG" ;; D) JAVA_ARGS["${#JAVA_ARGS[@]}"]="-D$OPTARG" ;; J) JAVA_ARGS["${#JAVA_ARGS[@]}"]="$OPTARG" ;; R) JEDIT_LOGIC="$OPTARG" JEDIT_LOGIC_REQUIREMENTS="true" ;; b) BUILD_ONLY=true ;; d) JEDIT_SESSION_DIRS="$JEDIT_SESSION_DIRS:$OPTARG" ;; i) if [ -z "$JEDIT_INCLUDE_SESSIONS" ]; then JEDIT_INCLUDE_SESSIONS="$OPTARG" else JEDIT_INCLUDE_SESSIONS="$JEDIT_INCLUDE_SESSIONS:$OPTARG" fi ;; f) FRESH_BUILD="true" ;; j) ARGS["${#ARGS[@]}"]="$OPTARG" ;; l) JEDIT_LOGIC="$OPTARG" ;; m) if [ -z "$JEDIT_PRINT_MODE" ]; then JEDIT_PRINT_MODE="$OPTARG" else JEDIT_PRINT_MODE="$JEDIT_PRINT_MODE,$OPTARG" fi ;; n) JEDIT_NO_BUILD="true" ;; p) ML_PROCESS_POLICY="$OPTARG" ;; s) JEDIT_BUILD_MODE="system" ;; u) JEDIT_BUILD_MODE="user" ;; \?) usage ;; esac done } eval "declare -a JAVA_ARGS=($JEDIT_JAVA_SYSTEM_OPTIONS $JEDIT_JAVA_OPTIONS)" declare -a ARGS=() declare -a OPTIONS; eval "OPTIONS=($ISABELLE_JEDIT_OPTIONS)" getoptions "${OPTIONS[@]}" getoptions "$@" shift $(($OPTIND - 1)) # args while [ "$#" -gt 0 ]; do ARGS["${#ARGS[@]}"]="$(platform_path "$1")" shift done ## dependencies if [ -e "$ISABELLE_HOME/Admin/build" ]; then isabelle browser -b || exit $? if [ -n "$FRESH_BUILD" ]; then "$ISABELLE_HOME/Admin/build" jars_fresh || exit $? else "$ISABELLE_HOME/Admin/build" jars || exit $? fi elif [ -n "$FRESH_BUILD" ]; then echo >&2 "### Ignoring fresh build option: not a repository clone" FRESH_BUILD="" fi JEDIT_BUILD_JAR="$ISABELLE_JEDIT_BUILD_VERSION/jedit.jar" declare -a JEDIT_BUILD_JARS=( "Code2HTML.jar" "CommonControls.jar" "Console.jar" "ErrorList.jar" "Highlight.jar" "kappalayout.jar" "Navigator.jar" "SideKick.jar" "idea-icons.jar" "jsr305-2.0.0.jar" ) # target pushd "$ISABELLE_HOME" >/dev/null || failed TARGET_DIR="src/Tools/jEdit/dist" TARGET_JAR0="$TARGET_DIR/jars/Isabelle-jEdit-base.jar" TARGET_JAR="$TARGET_DIR/jars/Isabelle-jEdit.jar" TARGET_SHASUM="$TARGET_DIR/Isabelle-jEdit.shasum" declare -a TARGET_DEPS=("lib/classes/Pure.jar" "$TARGET_DIR/jedit.jar") for DEP in "${JEDIT_BUILD_JARS[@]}" do TARGET_DEPS["${#TARGET_DEPS[@]}"]="$TARGET_DIR/jars/$DEP" done function target_shasum() ( shasum -a1 -b "$TARGET_JAR0" "$TARGET_JAR" "${TARGET_DEPS[@]}" \ "${SOURCES0[@]}" "${RESOURCES0[@]}" "${SOURCES[@]}" "${RESOURCES[@]}" 2>/dev/null ) function target_clean() { rm -rf "$ISABELLE_HOME/$TARGET_DIR" } [ -n "$FRESH_BUILD" ] && target_clean ## build BUILD_DIR="$TARGET_DIR/build" function init_resources () { mkdir -p "$BUILD_DIR" || failed cp -p -R "$@" "$BUILD_DIR/." } function compile_sources() { ( #FIXME workarounds for scalac 2.11.0 export CYGWIN="nodosfilewarning" function stty() { :; } export -f stty for DEP in "${TARGET_DEPS[@]}" do classpath "$DEP" done export CLASSPATH="$(platform_path "$ISABELLE_CLASSPATH")" isabelle_scala scalac $ISABELLE_SCALAC_OPTIONS -d "$BUILD_DIR" "$@" ) || fail "Failed to compile sources" } function make_jar() { isabelle_jdk jar -c -f "$1" -C "$BUILD_DIR" . || failed rm -rf "$ISABELLE_HOME/$BUILD_DIR" } target_shasum | cmp "$TARGET_SHASUM" >/dev/null 2>/dev/null if [ -e "$ISABELLE_HOME/Admin/build" -a "$?" -ne 0 ]; then echo "### Building Isabelle/jEdit ..." [ -z "$ISABELLE_JEDIT_BUILD_HOME" ] && \ fail "Unknown ISABELLE_JEDIT_BUILD_HOME -- missing auxiliary component" target_clean || failed mkdir -p "$TARGET_DIR" || failed cp -p -R "$ISABELLE_JEDIT_BUILD_HOME/contrib/$ISABELLE_JEDIT_BUILD_VERSION/." "$TARGET_DIR/." for DEP in "${JEDIT_BUILD_JARS[@]}" do cp -p "$ISABELLE_JEDIT_BUILD_HOME/contrib/$DEP" "$TARGET_DIR/jars/." done init_resources "${RESOURCES0[@]}" compile_sources "${SOURCES0[@]}" make_jar "$TARGET_JAR0" classpath "$TARGET_JAR0" init_resources "${RESOURCES[@]}" cp src/Tools/jEdit/src/jEdit.props "$TARGET_DIR/properties/." cp -p -R -f "src/Tools/jEdit/src/modes/." "$TARGET_DIR/modes/." perl -i -e 'while (<>) { if (m/FILE="ml.xml"/ or m/FILE_NAME_GLOB="...sml,ml."/ or m/FILE_NAME_GLOB="..ftl"/) { } elsif (m/NAME="javacc"/) { print qq!\n\n!; print qq!\n\n!; print qq!\n\n!; print qq!\n\n!; print qq!\n\n!; print; } elsif (m/NAME="sqr"/) { print qq!\n\n!; print; } else { print; } }' "$TARGET_DIR/modes/catalog" ( cd "$TARGET_DIR" isabelle_jdk jar -x -f jedit.jar cp "$ISABELLE_HOME/lib/logo/isabelle_transparent-32.gif" \ "org/gjt/sp/jedit/icons/themes/classic/32x32/apps/isabelle.gif" || failed cp "$ISABELLE_HOME/lib/logo/isabelle_transparent-32.gif" \ "org/gjt/sp/jedit/icons/themes/tango/32x32/apps/isabelle.gif" || failed isabelle_jdk jar -c -f jedit.jar -e org.gjt.sp.jedit.jEdit org || failed rm -rf META-INF org ) compile_sources "${SOURCES[@]}" make_jar "$TARGET_JAR" target_shasum > "$TARGET_SHASUM" cp "$ISABELLE_JEDIT_BUILD_HOME/doc/jedit5.6.0manual-a4.pdf" "$TARGET_DIR/doc/jedit-manual.pdf" cp "$TARGET_DIR/doc/CHANGES.txt" "$TARGET_DIR/doc/jedit-changes" cat > "$TARGET_DIR/doc/Contents" </dev/null if [ "$BUILD_ONLY" = false ] then + "$ISABELLE_HOME/lib/scripts/java-gui-setup" + export JEDIT_SESSION_DIRS JEDIT_LOGIC JEDIT_LOGIC_ANCESTOR JEDIT_LOGIC_REQUIREMENTS \ JEDIT_INCLUDE_SESSIONS JEDIT_PRINT_MODE JEDIT_NO_BUILD JEDIT_BUILD_MODE export JEDIT_ML_PROCESS_POLICY="$ML_PROCESS_POLICY" classpath "$JEDIT_HOME/dist/jedit.jar" exec isabelle java -splash:"$(platform_path "$ISABELLE_HOME/lib/logo/isabelle.gif")" \ "${JAVA_ARGS[@]}" isabelle.Main "${ARGS[@]}" fi diff --git a/src/Tools/jEdit/src/jEdit.props b/src/Tools/jEdit/src/jEdit.props --- a/src/Tools/jEdit/src/jEdit.props +++ b/src/Tools/jEdit/src/jEdit.props @@ -1,347 +1,348 @@ #jEdit properties autoReloadDialog=false buffer.deepIndent=false buffer.encoding=UTF-8-Isabelle buffer.indentSize=2 buffer.lineSeparator=\n buffer.maxLineLen=100 buffer.noTabs=true buffer.sidekick.keystroke-parse=false buffer.tabSize=2 buffer.undoCount=1000 close-docking-area.shortcut2=C+e C+CIRCUMFLEX complete-word.shortcut= console.dock-position=floating console.encoding=UTF-8 console.font=Isabelle DejaVu Sans Mono console.fontsize=14 delete-line.shortcut=A+d delete.shortcut2=C+d encoding.opt-out.Big5-HKSCS=true encoding.opt-out.Big5=true encoding.opt-out.COMPOUND_TEXT=true encoding.opt-out.EUC-JP=true encoding.opt-out.EUC-KR=true encoding.opt-out.GB2312=true encoding.opt-out.GB18030=true encoding.opt-out.GBK=true encoding.opt-out.IBM-Thai=true encoding.opt-out.IBM00858=true encoding.opt-out.IBM037=true encoding.opt-out.IBM01140=true encoding.opt-out.IBM01141=true encoding.opt-out.IBM01142=true encoding.opt-out.IBM01143=true encoding.opt-out.IBM01144=true encoding.opt-out.IBM01145=true encoding.opt-out.IBM01146=true encoding.opt-out.IBM01147=true encoding.opt-out.IBM01148=true encoding.opt-out.IBM01149=true encoding.opt-out.IBM273=true encoding.opt-out.IBM277=true encoding.opt-out.IBM278=true encoding.opt-out.IBM280=true encoding.opt-out.IBM284=true encoding.opt-out.IBM285=true encoding.opt-out.IBM297=true encoding.opt-out.IBM420=true encoding.opt-out.IBM424=true encoding.opt-out.IBM437=true encoding.opt-out.IBM500=true encoding.opt-out.IBM775=true encoding.opt-out.IBM850=true encoding.opt-out.IBM852=true encoding.opt-out.IBM855=true encoding.opt-out.IBM857=true encoding.opt-out.IBM860=true encoding.opt-out.IBM861=true encoding.opt-out.IBM862=true encoding.opt-out.IBM863=true encoding.opt-out.IBM864=true encoding.opt-out.IBM865=true encoding.opt-out.IBM866=true encoding.opt-out.IBM868=true encoding.opt-out.IBM869=true encoding.opt-out.IBM870=true encoding.opt-out.IBM871=true encoding.opt-out.IBM918=true encoding.opt-out.IBM1026=true encoding.opt-out.IBM1047=true encoding.opt-out.ISO-2022-CN=true encoding.opt-out.ISO-2022-JP-2=true encoding.opt-out.ISO-2022-JP=true encoding.opt-out.ISO-2022-KR=true encoding.opt-out.ISO-8859-2=true encoding.opt-out.ISO-8859-3=true encoding.opt-out.ISO-8859-4=true encoding.opt-out.ISO-8859-5=true encoding.opt-out.ISO-8859-6=true encoding.opt-out.ISO-8859-7=true encoding.opt-out.ISO-8859-8=true encoding.opt-out.ISO-8859-9=true encoding.opt-out.ISO-8859-13=true encoding.opt-out.JIS_X0201=true encoding.opt-out.JIS_X0212-1990=true encoding.opt-out.KOI8-R=true encoding.opt-out.KOI8-U=true encoding.opt-out.Shift_JIS=true encoding.opt-out.TIS-620=true encoding.opt-out.UTF-16=true encoding.opt-out.UTF-16BE=true encoding.opt-out.UTF-16LE=true encoding.opt-out.UTF-32=true encoding.opt-out.UTF-32BE=true encoding.opt-out.UTF-32LE=true encoding.opt-out.X-UTF-32BE-BOM=true encoding.opt-out.X-UTF-32LE-BOM=true encoding.opt-out.windows-31j=true encoding.opt-out.windows-1250=true encoding.opt-out.windows-1251=true encoding.opt-out.windows-1253=true encoding.opt-out.windows-1254=true encoding.opt-out.windows-1255=true encoding.opt-out.windows-1256=true encoding.opt-out.windows-1257=true encoding.opt-out.windows-1258=true encoding.opt-out.x-Big5-Solaris=true encoding.opt-out.x-EUC-TW=true encoding.opt-out.x-IBM737=true encoding.opt-out.x-IBM834=true encoding.opt-out.x-IBM856=true encoding.opt-out.x-IBM874=true encoding.opt-out.x-IBM875=true encoding.opt-out.x-IBM921=true encoding.opt-out.x-IBM922=true encoding.opt-out.x-IBM930=true encoding.opt-out.x-IBM933=true encoding.opt-out.x-IBM935=true encoding.opt-out.x-IBM937=true encoding.opt-out.x-IBM939=true encoding.opt-out.x-IBM942=true encoding.opt-out.x-IBM942C=true encoding.opt-out.x-IBM943=true encoding.opt-out.x-IBM943C=true encoding.opt-out.x-IBM948=true encoding.opt-out.x-IBM949=true encoding.opt-out.x-IBM949C=true encoding.opt-out.x-IBM950=true encoding.opt-out.x-IBM964=true encoding.opt-out.x-IBM970=true encoding.opt-out.x-IBM1006=true encoding.opt-out.x-IBM1025=true encoding.opt-out.x-IBM1046=true encoding.opt-out.x-IBM1097=true encoding.opt-out.x-IBM1098=true encoding.opt-out.x-IBM1112=true encoding.opt-out.x-IBM1122=true encoding.opt-out.x-IBM1123=true encoding.opt-out.x-IBM1124=true encoding.opt-out.x-IBM1381=true encoding.opt-out.x-IBM1383=true encoding.opt-out.x-IBM33722=true encoding.opt-out.x-ISCII91=true encoding.opt-out.x-ISO-2022-CN-CNS=true encoding.opt-out.x-ISO-2022-CN-GB=true encoding.opt-out.x-JIS0208=true encoding.opt-out.x-JISAutoDetect=true encoding.opt-out.x-Johab=true encoding.opt-out.x-MS932_0213=true encoding.opt-out.x-MS950-HKSCS=true encoding.opt-out.x-MacArabic=true encoding.opt-out.x-MacCentralEurope=true encoding.opt-out.x-MacCroatian=true encoding.opt-out.x-MacCyrillic=true encoding.opt-out.x-MacDingbat=true encoding.opt-out.x-MacGreek=true encoding.opt-out.x-MacHebrew=true encoding.opt-out.x-MacIceland=true encoding.opt-out.x-MacRoman=true encoding.opt-out.x-MacRomania=true encoding.opt-out.x-MacSymbol=true encoding.opt-out.x-MacThai=true encoding.opt-out.x-MacTurkish=true encoding.opt-out.x-MacUkraine=true encoding.opt-out.x-PCK=true encoding.opt-out.x-SJIS_0213=true encoding.opt-out.x-UTF-16LE-BOM=true encoding.opt-out.x-euc-jp-linux=true encoding.opt-out.x-eucJP-Open=true encoding.opt-out.x-iso-8859-11=true encoding.opt-out.x-mswin-936=true encoding.opt-out.x-windows-874=true encoding.opt-out.x-windows-949=true encoding.opt-out.x-windows-950=true encoding.opt-out.x-windows-50220=true encoding.opt-out.x-windows-50221=true encoding.opt-out.x-windows-iso2022jp=true encodingDetectors=BOM XML-PI buffer-local-property end.shortcut= expand-abbrev.shortcut2=CA+SPACE expand-folds.shortcut= fallbackEncodings=UTF-8 ISO-8859-15 US-ASCII firstTime=false focus-buffer-switcher.shortcut2=A+CIRCUMFLEX foldPainter=Circle gatchan.highlight.overview=false helpviewer.font=Isabelle DejaVu Serif helpviewer.fontsize=12 home.shortcut= +hypersearch-results.dock-position=right insert-newline-indent.shortcut= insert-newline.shortcut= isabelle-debugger.dock-position=floating isabelle-documentation.dock-position=left isabelle-export-browser.label=Browse theory exports isabelle-output.dock-position=bottom isabelle-output.height=174 isabelle-output.width=412 isabelle-query.dock-position=bottom isabelle-session-browser.label=Browse session information isabelle-simplifier-trace.dock-position=floating isabelle-sledgehammer.dock-position=bottom isabelle-state.dock-position=right isabelle-symbols.dock-position=bottom isabelle-theories.dock-position=right isabelle.antiquoted_cartouche.label=Make antiquoted cartouche isabelle.complete-word.label=Complete word isabelle.complete.label=Complete Isabelle text isabelle.complete.shortcut2=C+b isabelle.control-bold.label=Control bold isabelle.control-bold.shortcut=C+e RIGHT isabelle.control-emph.label=Control emphasized isabelle.control-emph.shortcut=C+e LEFT isabelle.control-reset.label=Control reset isabelle.control-reset.shortcut=C+e BACK_SPACE isabelle.control-sub.label=Control subscript isabelle.control-sub.shortcut=C+e DOWN isabelle.control-sup.label=Control superscript isabelle.control-sup.shortcut=C+e UP isabelle.decrease-font-size.label=Decrease font size isabelle.decrease-font-size.shortcut2=C+SUBTRACT isabelle.decrease-font-size.shortcut=C+MINUS isabelle.decrease-font-size2.label=Decrease font size (clone) isabelle.draft.label=Show draft in browser isabelle.exclude-word-permanently.label=Exclude word permanently isabelle.exclude-word.label=Exclude word isabelle.first-error.label=Go to first error isabelle.first-error.shortcut=CS+a isabelle.goto-entity.label=Go to definition of formal entity at caret isabelle.goto-entity.shortcut=CS+d isabelle.include-word-permanently.label=Include word permanently isabelle.include-word.label=Include word isabelle.increase-font-size.label=Increase font size isabelle.increase-font-size.shortcut2=C+ADD isabelle.increase-font-size.shortcut=C+PLUS isabelle.increase-font-size2.label=Increase font size (clone) isabelle.increase-font-size2.shortcut=C+EQUALS isabelle.java-monitor.label=Java/VM monitor isabelle.last-error.label=Go to last error isabelle.last-error.shortcut=CS+z isabelle.message.label=Show message isabelle.message.shortcut=CS+m isabelle.newline.label=Newline with indentation of Isabelle keywords isabelle.newline.shortcut=ENTER isabelle.next-error.label=Go to next error isabelle.next-error.shortcut=CS+n isabelle.options.label=Isabelle options isabelle.prev-error.label=Go to previous error isabelle.prev-error.shortcut=CS+p isabelle.preview.label=Show preview in browser isabelle.reset-continuous-checking.label=Reset continuous checking isabelle.reset-font-size.label=Reset font size isabelle.reset-node-required.label=Reset node required isabelle.reset-words.label=Reset non-permanent words isabelle.select-entity.label=Select all occurences of formal entity at caret isabelle.select-entity.shortcut=CS+ENTER isabelle.set-continuous-checking.label=Set continuous checking isabelle.set-node-required.label=Set node required isabelle.toggle-breakpoint.label=Toggle Breakpoint isabelle.toggle-continuous-checking.label=Toggle continuous checking isabelle.toggle-continuous-checking.shortcut=C+e ENTER isabelle.toggle-node-required.label=Toggle node required isabelle.toggle-node-required.shortcut=C+e SPACE isabelle.tooltip.label=Show tooltip isabelle.tooltip.shortcut=CS+b isabelle.update-state.label=Update state output isabelle.update-state.shortcut=S+ENTER lang.usedefaultlocale=false largefilemode=full line-end.shortcut=END line-home.shortcut=HOME logo.icon.medium=32x32/apps/isabelle.gif lookAndFeel=com.formdev.flatlaf.FlatLightLaf match-bracket.shortcut2=C+9 metal.primary.font=Isabelle DejaVu Sans metal.primary.fontsize=12 metal.secondary.font=Isabelle DejaVu Sans metal.secondary.fontsize=12 navigator.showOnToolbar=true new-file-in-mode.shortcut= next-bracket.shortcut2=C+e C+9 options.shortcuts.deletekeymap.label=Delete options.shortcuts.duplicatekeymap.dialog.title=Keymap name options.shortcuts.duplicatekeymap.label=Duplicate options.shortcuts.resetkeymap.dialog.title=Reset keymap options.shortcuts.resetkeymap.label=Reset options.textarea.lineSpacing=1 plugin-blacklist.MacOSX.jar=true plugin.MacOSXPlugin.altDispatcher=false plugin.MacOSXPlugin.disableOption=true prev-bracket.shortcut2=C+e C+8 print.font=Isabelle DejaVu Sans Mono print.glyphVector=true recent-buffer.shortcut2=C+CIRCUMFLEX restore.remote=false restore=false search.subdirs.toggle=true select-block.shortcut2=C+8 sidekick-tree.dock-position=right sidekick.auto-complete-popup-get-focus=true sidekick.buffer-save-parse=true sidekick.complete-delay=0 sidekick.complete-instant.toggle=false sidekick.complete-popup.accept-characters=\\t sidekick.complete-popup.insert-characters= sidekick.persistentFilter=true sidekick.showFilter=true sidekick.splitter.location=721 systrayicon=false tip.show=false toggle-full-screen.shortcut2=S+F11 toggle-multi-select.shortcut2=C+NUMBER_SIGN toggle-rect-select.shortcut2=A+NUMBER_SIGN twoStageSave=false vfs.browser.dock-position=left vfs.favorite.0.type=1 vfs.favorite.0=$ISABELLE_HOME vfs.favorite.1.type=1 vfs.favorite.1=$ISABELLE_HOME_USER vfs.favorite.2.type=1 vfs.favorite.2=$JEDIT_HOME vfs.favorite.3.type=1 vfs.favorite.3=$JEDIT_SETTINGS vfs.favorite.4.type=1 vfs.favorite.4=isabelle-export: vfs.favorite.5.type=1 vfs.favorite.5=isabelle-session: view.antiAlias=subpixel HRGB view.blockCaret=true view.caretBlink=false view.docking.framework=PIDE view.eolMarkers=false view.extendedState=0 view.font=Isabelle DejaVu Sans Mono view.fontsize=18 view.fracFontMetrics=false view.gutter.font=Isabelle DejaVu Sans Mono view.gutter.fontsize=12 view.gutter.lineNumbers=false view.gutter.selectionAreaWidth=18 view.height=850 view.middleMousePaste=true view.showToolbar=true view.status.memory.background=#666699 view.status=( mode , fold , encoding ) locked wrap multiSelect rectSelect overwrite lineSep buffersets task-monitor java-status ml-status errors clock view.thickCaret=true view.width=1200 xml-insert-closing-tag.shortcut=

    Sl8$41TTb~b?Z zJN{($ySvKKaU{c2@jn_QDHXWJBmf7lC8F9MY6`zH@1c`@o`i!PF}FIR&2esHv95gs z6r}bf6789kARbSzarbNe9XtA`BK40x!Pohm(M|TqLf(b(A)zc?C$gwYa@gvmU7FDk zIq!BgqrFOZ4Kq!%LZlHf%uf>AIwtq<-jzGj*octz1R%>304yvNO*cOs>?DV#x9k`jIAo6e#xQe-e-`2LERQ zQqGA-1CJm1)!IN1xk>jQ{fndC5`jML-+Klesrz5aaaHNLUkbJZzPiE#Yj1Ohwb5Hiv^RV?dJw_kk7lN zA7&g_G-xL4G2;fBqA>9mBKhA18ZiDS>+;P24vdUZn8Jc)u-`&2uVQ??s0ck(4F(Z2 zU2;osb<))+FoY{;JXc|~l1?ohbsED-r;}3FBDwV{zi~}7i>Gc(*zxo^wzaWG}7$r)FhFJr*s)_S4XjPfC&mrY4<+2l^m&O zORKxj_NVgJI;@3-g)In}#pZrlCdG-oyxcf)egkCA2A5DGi-CzO1*8nQla#No{zPnv zR(x`W9f$pK=1FV2L*L`co!C(ZzxYv7@+&aVfKA6smzdjzWNa*1$-)DcYHRWsL+$)- zl&UXWWOF~XcMczrNzTCIY5;$%-gru0r}OC{pvV?iteD*U+g9d+yuFLS3aK<==;7`a*y|H7{XTk6Q1>L69OOV|E?%Ud-Y#Md35u2K;put zm%G>hTk-eVW|C(u;Xrccti!<>i<{W8-$z0J;bmx!{l&|OxyF{yHKcNj+nDcRH*7r% zH1^i>2`$&oMo<`9MV%pCyiRSgBZP6-9b9X%AJj=NIkbf*du*Q5YB5>Q_^)w1G=W^XJ+N751N{OIj^iw#qt z*$_PNa3L6$3~`i;b=0H&`Jmg)Yw^45^1?@U!o4Y~%^GQd0?GJ*us16dhO(%r7TEU=bXcRJK%e4!HH(Ls4!XI_EXc&wPiG- zUorWibKx9d);4oqS+N{WMsh)r`-WrPm9432 zs_aA-YInY=L-Oz^(mF{2riu$mdv~{H`rv90z<0EO>+VIl(BVKh z%>Rcbuq4*FCwVY<@RMdDKaVlm7~dn;hw9{I*bz8^_vk%W18S}5-%YVhF+6n*t*5$oD;A0PE*S}QzLL|}rg_dBo&09r4h6#?U{tid@k_dUs_0R)u+KS{C;CD9C zlS@2>#}rOm`-#hHyqQ1oZHtWJ`%?cC1nPb=t;b$YWi2q|S$q7P1{Q1*az9_qs8Ewu z*Shbtvz)}Je!~Y^iY##~R&;x&g-B)o*iPB9DEP(YoVTuJ<&4ZGdv0?j&yf%`hwacu zzVmP!b-nNX-pd0AHFIUlP6mK}Q(%A5ag{=dODz%G^!Nr_O}^L7ghogNAKPn+-Wb{^ z0{mi$LT!HNZ*=H`m>F?}&2gz2l-d+>gg;tfD|QAbi1fA&Y=YZ^F*Guf%yNbPi}a>T zxe-nBZ;~|~o1U&@GtKH~xq1(~{F|#gt&|$qe0$484SsUvEuwr@a9fT|n>*LxVvVDR z`_)(?D>yxLdYR9!N5g*FW=t3$E&?#(yttsri00C0}zmftU^yqy%UtYUrYvCXJZHt@^^27pshi6i4_} z%e4l6zhT!TZY*C`MfhM8iTr=?^_5X^Hp|u!5+YcF2Mq}tg1ZNIx1bZ;-E9cLg1fuB z1^3{=-DU8>9fm=_A@ZJk&v))wYko0{>8JatuHL(9SM?h{K7g&TX2pX2lQ5qS^_N${aaF`uPtQppG4; z0c#g!-)+t(M(#xBF|H2NBvb*~~kidZFjV;p(&k-#HC zy>zw?u4+agCF>fyEAOXh=vY|FuC35(D?~IR%?#&at;X1;W{a3`A|j#-wvZ36Uk4Mg zg-+3EFkaV#38uC^PX`y6^`C`FCn5d-gWLrxN8}QHS;<)MDA&kkH%p+W^)5eOUWZue zDxe2}2ea(1FPd76Uo~Fr>5R`+%M7+gBXu~Fvc_tABOWg$S=r9h)GA3{_G#QhIqWVk z{E3}Ck9FHS+Ap2%fnV|2aP(wpNZO%-QofQMqV!3ri($&mt4`INv< zEy=WmoZ*qN5(}ex3$|+^s_QP&EVy!*zA$uO?_984QScs9_@QToe98PvKoNZM597DG+plOJ4@>d_QsK8Y;P6(wJ(xk{STtARC0-UT&nv8Ly<2nxJ^1ousn&a-+lG*X&!NIDczu%*HdEFTHR-U@ML6TJpEkyz!p@Qp|3klhKh-o_ zd5rp;({HF2>`XA_E&|P z8r<{!01l67Z%p=QV!kzX=|9D*2K;8+;U-NWlcr* z3{y}36@ouXp0pBXYw@MuJ1(aOg9;2H@P9F7BFPNkbPLm=I<9g2FG+s%+V9C`Ut2xr zSwr{c4DLyVM8{7P4-D=~VMkYW=x{ogFx6yn{@dN?I99w6KY(iSa*`}x*YaA&y2*Im z{?|Sll4PA~bqi_k?5{9_&+^=I?QMYdRPU{bxDRJLm+7;8?Y=0Vx<@WoCN{_Ho+az} z#T}D^1;-A)`I6|N#1v#aDG9PX2A+(-o6dlKJaT2_Uaon6E#;1X7j;+tZ`pPVq_A)- z&q(&_Y_Io{!D%d0(MVx@{1|c`lOoFAwbUu7tenTS^Ge`ZJr$0?1e-hp;kD0}TdQnI zF}0A^7(M;VkiwJRlZ^-0d!EEvaTY|kHB)0z;+s)k9v(a(^+AQ&=JeJ;EU% zO(CUzu_03Oiq-4Gg!2KWE&B$}2#DLozFt4y{Ya}UaZ_{iUvc(%#9E4VD(qdeQIb;m zur0weO4=RhLS*tKg+wg+D z)b*p4CT=@&P_d?(nT__*5Z4E1FyW6W{*5gSs|{#gYT@6^d-|wx-F|7K*ziEMqCe`5 zQ*Wec!2ET8?D5@q1JrR;OVH4%EN?(j5E4Wxp}n9}2U<+tRwgZiNszHkfAB_%n9@Us|EN)sOw3SUuMcEDr1#oQeNOqT)q9b1n~<&#{pM#-sXT@ zJY zUgyK+fg~o;RoDypT&+H;UNYsX%D+H{P`wZ>ut?2&S*FT`mr&Sln^z#H5<~n>50SG>WKx@d#T?fs`nMY^N)X8+ zsk6}wNP2l5pE={VJe7(+l$F{=qzrzm^HPEQkF+>5bYv>8FW}PPo`mj>?HUqP4dMHq z{jNLuGzB%~%JNZOOVa0iqVqHHsslef6ofDJ^hxU|LA|_3R4^7X+EBkd=ll%VOw?Yf zHvB%vx0*5xgO6KA=BzROi)fLXG55M~70L}kEYts)Vg&cl_Xo`XtdR8^I~$5|7DcI$ zl?C0Rz=r*JxgNs&YgeP(!%Jt-fF1_q6uW_M2bQb@0Nt1k5i|7pqXKm!HR~ z5w5+Pc7XRF>KHNM?mlx?m}<5j-T2Qbo0jgbtnLmt>;IXr89`Uneh=+oi@>jK>BGVd zFeA@kvM2extbv(B{LW(+A2-Tz^rq#U5^r%fY2m--yd-qQwC^8r4$Iw?xgqGOBX4Wq zSoi6^HQ&PlQ;WS|47ksKw<+)r*bMl%X81<0XZ};Lcn(rk*FXhbPXzuc25-tiM;RCc z#>C%x?0&dQYvw`=E94|*ziaN7itHWG2RwhyCG-*d)hi(-rK%|uVPhHzvmEv5sky+C z{OXda>PeLnV=T?N_X0(_Se}7_AJjj-3@3Z}1pQ}=6l0W>VSOu~AF|Km_yqm$;gC~q zZvBG=4!Z-l*aWxDB|E%86?)?Xqx{^u^6`CC2gYJQLJ@)o(;mJ4c@iM-?SP#t{Pc+3Rq{654o$LwJxQd&^$~kWsGvhb zWGltS(~Ry5gCEsa8C!;M_GX9%#0%nsQwF3d?yun{HI_0f^f9&-iQnq=(ZFSgw)!<& zbt^QQyeb{{3?wtM?{pc_jojwDc944{xp;+Vn!kAI)Pz#KW#dKt`u%jvx4a?g1IWE} zd-*Ax7@h+eSK3dL813_JwgM28)gzaV)a5M3Uzhii`vp!i|73Spb}A>=o_(WW3bH7> z&EH0;rBm+8adX@XBn@itCghkX3pu;TtP?fv2g~UKZlu8trNW%OS&t~bpEs&LuAMx* zqd!`hQKQjLa__7DxU3R#Q683zMUV_vz8;M5W0#WS1KMFm*H@399Bmd2WY6c1b~SQT z8#f%PaLZBRzvi{Py&O)Sz*&4W)Qy(k(KVFcOz)MZwy!CFerl1(3a3dB;z zqlp7ERic5KVC*nu#m@y~fGDQALB&dV#r9{I%4X2H?7NaNySTD8u-|^zh1uz?`}xzi z6192HDNz3uQH&BAC;F9|Bno9FNf5bV)sQF_fNrUVc+9NLfysT7Vd1>z{EWE^b3+p` z;Wf1$HX$~}6dDKHeBE&I=%$N`g1qnTY-wk4YI)fFu=T>&7gNcb*nhb#HW(&Fe@qf8 zxM{lW?x%BBs?6Qa=YM#m0g#%)j1C?~@9#v8#_?dJ&;*L_tK?LU+RV3W7)DU?==s8AJ*RS$* z#ma_DO!1tp+K10QejJ=E)?HY=xY1I6_QmcH+{W=t zR{^m~J)%81GN>0@a1wkvvZhE+cJ@3u9xWbIGmuH$<%qL?7P|h@yrYba)s8uFHqh?S zXu<*@u}Z~OlgLG)dFQ8vN!t|f6H#egc;#1E9fqF7lIRmfi+m8pyo&x_H7s*4tMQ0E z@Y^7PSEcon(31Oh-qmZGRRf8i?U8H=JHy1H^7c{z9PBkMUYRvk9R1OXWf?m`0L7|H z1w8V_Fzh6;^Q%1hK|Efk{&~^Jo`H1BYfnlo;8PS~v+^@849q7^+pGi{spO~aabiSF z@AmA`rfWCLagrfiu(;sI-7RuQqZb*vwvG0h)vc-q?3=?oekE7qjf%*HRp#l_LNNrY;1 zb~*d}iGjus7tg%|XMXyw|9m`8Hp~=JC0G;b2SJY%oF;8tbl_HvdkAU`PqeSaOw9UV zz;V=@18c-X4iW3jY zH(Tl7>;_@9)ch>&R5Xbf!$Cq#Az+@CRy!23XD^aUN zgqbG^waYUb_j3?1ROe&&gc~XDuPHHF)^cUHJ%5IrxW2Km;@BA0FpO1cWH)>WoHo7Y z0Nv7t@tiBwvTsrw4vR?2JbYxub&h5jxGyFYaew;U3nV{Fq#&PER_+3yiVOL$hx+J% z8BTzCkAInq7VSh4OZ#Fi*ELkuvv0BW@`-j@7+vdJXHI2{sEiD;p*FA9d!LsSa2@n= zC>`MjN`It|J!f;PUBP@{0^RZP*S39B+|a$slG4xl4(#zfPP8_!Unc_(>dogX-d!&E z6ezkJPpXDp-5hszcSlCYi>XVz0H=ANj_1l4oW_=rfDfGyJ)5T8xQPxtkN9oZ|FRAX0Q7-_U!Jx z(HPfG`l)8hy%c*wH?A}+pYKBD_7|#yhNp^k&Uz`FKHY^vu0VIkVK-*I=y%7fL72dE ztXAk`8M`}PYbYlxi7U1A_()hXf#RQIp^^Kt6NCFAuC;1r)6#S`(`5W>SXru#al%P) zuoUq8H0^ZiyMa5T+@tjN4pP6~{^R?3YtugKiAZSY{LTeH)^Z zfH!&vP5U+2^M;ys(m_2MH6DYvXuO@^-DyR6wSei}jXkDe^NL|{XvbI2yqw%ea%yS; zWE2#?#$JI`7L|wZTGspO2>Q`G4JD)Yf-1BDm;1H2er;4)p)HTy-9n|Gy^5z)+)V$2 zwc{%1&DZsfYA#&R<2DhM?rxMFf##z}r&#@$d45urjX0JYS&lB&y^9890n%I{^ zmz-Pf1i5|bw1e$HBF}$a_~#lkaAwb}Y_P(2*LD|)uC37&j{|TkQ9K=)nGti4Mv0l6 zbguyNgz-R0nNWxLN0%NR$uTJeu;fZTy=c#rR-)Ap`@g%xwJ?q1RT3X#Vr6CdTOc3B zl~95os3#P*6uYy%3OoMC6RL7&n;)8nc(SEEz7`{;9k#eQL@QkNMlna*-}!$j>=^~0 z2xm*(@Pu6R>4J9S#5Nw9#0$l}06*;xy<`}(tUWD@(_Z!RCpP@iOHsMk47t3$fu^_) zgz?=n7a$;p^IE@A)wV+cH7`FRf-W9%l6qz|-L<%!#siPLG@;(aBUYWyfVV#oei9N0 z*qf*2egL#A;If*3Dhf60jU>W#&=;batl5R#8Fv8N1$Lo8ZY(z6he zVO~`P2m}`G?@pDxV`GbJYHC_*$pal44X5(#EjGs4taZb~$f-A<+*MIgPPi|76Cni| zj7guLpQ8uUU*}%H?1jZ_>aoi47D|*pd5SxS0X0yhD-Vs>=}YFkJf@POls|vHT5;W_V2$hYwn zf9@?(+w2aO=DV{wVnrqC3@C#3F={DKYBPx&p2R0am(>NF#DwV#UW08QbT0RtQsQ~x zjt2l3j*5lhs8!m?9joMb&eZp+J%@#Di?@~0{K#a!?Ic%xEgmiqb=asiFG+kIXI?&#DXI` z<(Aa1HehbBY}u;VTLl4A;xtK|?pJ(d6rOQxY^GjEFlo4}-=ad`>_uTAVrlx8@>7ez zcP^{%qCKoBP@dMH$FbbZT=)E+Oc5WH4Fu1hCA5UEkE$X9%<$cbe36FIP1kf4WK&Q+ zc7c(OC#FUqg`N@YtBqd#QKL*V$3iMehgSHw@e||qR)S&(nCeoDw??f*H!+}TIl=wz z)-{WK;V?<#YEQ*QFYhu*cGJXbPzzxzKH^e&Xx)GyeYs~N&pZ|~<5&oxt@%YnCF}iH4rNSsNyPTXfD5$j)|U;VMAg|~LylO_Q0tDK*C0wO ztfjm*oN5}EQ=-&3hAX{If;sFzlYp82zCNzVGIrRKP*6pL`&Dzar!C*XiA!fT3j0nA zLx6_{H|y+}95al9KDYcA$7DhQ+U$d+d~DewA@TM}S}ci)BF|w1mzSPw^GR)2woH1)B~S6K ztd)a7X9UbeEYqq5tUzjJY71Pg@(3F+nrF?BI@cNE+(CP4*`q-nVYL1PZ$~yVr zJ57%?TQa*)tWD1DDIEI?-md9q987m(r?Ev?e?lCVob2%Fcz*m=je`hpELKs{KhEwL zg*M3U=i<;er7o}Sl*Ph*#&?#nPV(qPb`Ozjxq_;cLEP|;*!#T0O1x>?!G3dPASBCE z7S8H4(L?!|=$T63V4m>&^zn4H73Z-J%C8F>+*^e)#Dv>qCca*O? z(nS{;$}HHyhpn81`IIrtB!~<4W*CUDNYb`+$EwQL^*gQ2wNf29DU-krHK%3ed(FRvG2_p@ zuNQ~ZN4V)7&Q69~E}y>u;0msMwRsx%n(%9$C7%O;j^sA^TI^>Uwj;q?9hu%P{h*AU zQeoHSEG^KIsiG($8d9)gmxc zE=?v7@}iHo?m1?8+ReM~d5bvQB&f-Grt5?1LR~m?@~0a?6F474Mt>x8$F7fW>OK5^ z8Mc|xkFb`{_ij$|)tgTF4B^ZN+DervV;fFYbu<}&$t|=%?H-wB7eUpXG|f??@hN5E zQ!ZrLHF-#YG;w=6ey!qFZ<>v{3tm~juVsHH=jHnk9^E3C{y$F&$DOA9qd%mH_IiR> z`J8nm@3e%sVzXs>1>dNkwB7veuCav+JNey@+MdF239oipZC8|J><68zvu*joAAu2O z@bPQ$&%g9We;@uVVnn7$xbY0OiX?4kp@Yd#cPo-l(k=M;+TJlIgld4~at%cPULBxyL zUrd^3fRZ=z$&p}=YIF^qjPh@M&Fcop*8pQSV)k!$mxHX$U1A#c>Ac}95-@si?>xnD z9WCQFdi94p^@pR|IbH})a_Qgw(}K@poEb%HoH;;}5LI?ebvNF#KMQ<<@i&#L=!6Y1y0);QTf;YukuaN=SuRE*0Vfg2oPzHY8 zfm}z-bN|!jWfTkcq`+3<>RLJ`81-%LYAM5`nw`aTZ`$ynIB@l>mHf>O&v+Y3pIRP= zyHKjDH|NJ*1!j4+4G~!yc2+q*SK=~PJJ9ch_JplWZP5Cq(Z$(1#V8}0K|%f16MN^Y z5PZ#Zdqc4e@`gNw`NVJ4CiGa;{hB9OFRPvA(+&@itW3L8a^iSj>lhugja=FbT zTetzzZX-zdEYvPnA})ERe|?2BA8%XvMA6~`z?UtkWY^P zn4C?OCzWUt!UI*H2GH2q&O!D>7s35G4#6pwyA>6L%v9LQ$}_hKMT78xi)nS`Mq4SY z?5|1}&G6*DY@_95_MC+RIwT#Lk7vK)C29hPn%@a?3jQ_)&Hx?UE!gIz3|!b89aP40 zq0$`xs8xWL#wMo{_$Z66GBOeeTGsTAu1dG&u}BfQrUkhE_4VwD3ZWt}(cU_poKqy( zYGq?rGL-Yo*Rmp}fz9qG z<}6RBHS6BH&wRJ{OU55wuYW!>e)es=r0neE;IN3^9kF95fWpchInnXx0_ll46=Ch8 zph9Y7Zl=)NBz!75^S~WA-`T>*g<+xI3vx#P>d^a(FfHUH?BO$Fg zA0^(>)C>|=aa}rP+sO$v-n`Ypl{+d3Ql^`T90PUww#tyzmo4dRix$a#t1*sMjvD_# zQ1-ijQD+3RG!nAhnTTa=QV+444~HF4NX5~yaqRv4{)+GGF6TwWHDLJ1xi=W462yR( z?ax0a10#MSmVPB~06C zCIWtErntOpZ&aMQZWX}>skF<+p7Dpt+eBYEyJ>R>4h4YE%;wnGUzM<)OF#1!m37#FcK}HhVZK1l`kDhr*jNULivzTtE zV#2XL;;@!_=Sfdt{ZT1q>`fs7kIKr4|JYYmb^BWOJT&HriD{t~37mygOm_Z@*Y1@K zUhqch^gRw`mCSC5L-~@$AD4H&j#)??*|-T+-Uw`1FwT@`hoamUzw=b*=5yxtuJhSK z?i4PP-9jGyP_)jSLgqBFLV0Yv@y?{#&=TW!iw5_=%(E5_%D(>o`ui5QZ((8JHh&_r zrMathv*{f~#}fN$sO#FdE*XLi?UvhxuHLv=^~KuKq?m7>2@cV2$8|UIt+uPjRBm5A zlLp?emC7vdX`pAd1d66VYA-)so4uasw9q_d8K{PeIt zJGRtoQK+l(rG*&!6*d#`LhV?pubVsPI1hbv&T?3n5&=X6>Ga4mH4D9A_mdX}>uW}{ zv(N}fkpIR%eE~}PcM|ON7!kUA9In~XIQrY?TBncpaV$@Us|gZ4b#1}Jd~^1e%wDBNsRA_xmVDUB2WoVrw`btJjnAJ~KXq@q$+}Ix@_sDS zIJdOl_dc0Fa2LnubT6l?3F!8E`i@7EH{^GRtz~R9VR_fd#|dER#&A`D+RsAeG@Bs~ z#YU?YXB5-Grafr8$5{$yxsmZcUiuavFKc;VPbd3#8OGC_GhNQ)yVm&GRGOzaQeACrJF?#9g)(_Y z{)`LSO*mWg$x5C1aI4HAje^LO+P6M9F9B`ko2K8#5ntpSYEaWz#zbo5b67Qz(goq5 zNHviZNbcOnZpdign>=T0O_RL(sF>H{M7n`fa`XNLG7oiVhEdn?euGFXj~suo)>?3V zz`k}fIm`p8v?Op%Z|aCoG#IG)wu2d*&45od;wG7{yFMVw1pmI~^4n$*x$6e9fl-3n!V_4(n~sz^njgaZGxN>u8bwv z(dE1VRN*-^K7|^z7OfW`T^vKrLQ&m@Vb4_IQ6GiqAC~Bmssh<()3{Zj;o`Hk-4@&q zZlX`E^o$)SG%A{b7ErH34vN{)cqmc>t+?H*2Lh(e==J+5tPa14BsZ!v_m#an!^i2L z95!S;_J8hvCB<@ISK#A;kKd@32KQNdRGuZLCwB5+5@qjdrpw`e=bbmkuh;ihOj#LI znBU?qtM)b51tt*U&qw4y6lm=Zxl__zRmPU0+iXQsIc}Zaz1-?GO|37EZ^mDEmFL!0 z7Ui;bp@2t_!X`FqB!qk`TYJV zZYK-~LYFfnWT2@jD_{*&)LhaLt0rGIPZbf1fHI99myz`!wwcsKW$lsqQFbR4V2X$7 zDKPh!W$AAuB^-a^1mC~+rHh-Y-0(1}-NkTqRhwn9F9j_47rQh4wnu^?`rsclM9nr| z9(^83Z?mujxH@sf_@>r)Zz9aUvU{41#%QxP&+&j1G(ZI%%G({W1x%L&NFE}>cf#Cm z&d7>~Vuqv1=pw`A3};eEHTE<+kiE3yC?Rd_HQfz67R|GyXc?*?hVc?^CzDq=Akft< z%r|Pc)(5X^rXYcH5NnGP+p)rOPN#z|DlUz3ZjLrSC~0lS+SKH2>xTs!+;57A0CWzc z0d0*z#&G~q$zB$l-rItGiFYttl%*>g&|#$i4ZYOOTDk(|K{7s z|CMhm-O}74G&0>9_1!QztAw`FI(lwqmUjAsaN?PS;AxvEeD_uuD1>r8+%$Q?=XHrE zXXR6a)3;Ed`v)zTao(Sjx_d#-ixW=|LD6>IVHo23MmyLhtj+>f_t-(gFO;5*Qo*=W zS-#@r$U!Qq!`CZ|`I?BdG&!{|j^ET}^fhwFN3?SVW)h)cwm%-3`ZOuVYO}CsJO}*`-#{rS3@oL5;in_U z?DKN+cF*UZ%_}>1Sa7`Vs8{7i}qJW##&>|MZT0sU;E9 z_D?%Y0ei9zdN~q$jodBH4YO3E(;MdnED(W1TH>J9LoUPI<4x***m*>Hb=&mT=hNn6 z_gjDG7l0;Qa7zd}=3m0R37fV&rjoGy(e*9GMcb9fp0h1`V`|F6yVJvhvh=M%HRlvJ zv81cVYB;oUnBeIYsY^{L0M_)1uo9@rN7vn*PqC63*hwPeTy>WUHV%e+X{%)E} zA>6F2A^Phg7JvF0m=^8{E4& zt$ol8H1*52fn;`*5^&Lx4C&1&Rfdhp-UU}KD>uw!99WoSgU4+&O&H6n)}vAWP8_yj~d=fc*#e8XzSSkDA#)0gJS z{4sg-mEv!Bsvp*pKZmRqp-4$>02&48wYOe;oM zR(xSKWL&Q5E599|AWK)Zv-E5aMECnf1m}kQLd+AT5|3ov);OSQEA~Rqyqw?)Qr0m` zgLr~How_Fa=n!!}sM2Cx4GrMnKZA5Nsq?GuIq!DCM9{Mk#k;#-QS z&uQ3`dj0=bMBc1%75|%e8c&&~pJhME{vHKGlk|io@QJ4$VHIAwTp~zHz2UEApSC^! zCoEu|o46{Ldim@j*xun)(rJKVW!JhBVx`b}YH=k65IfnT_MW%!9?r6Ed#z-lDYa8j zsnH}7B%XV}H|^cJaQ(kDS)~72lf_}!lC*=5^0 zk98IrL<%^}#o*plqH{eYQBoJjf{XlkAy8a-ssEhfUbBJ9LznL!`T*JxbS`QH4U_2;yc*kf$Pi;V?Q_+-JNNFB~An< zb%9y+$xZC=Rn%Ns^6N6iruFxZd|dERi$moAg7DaXHhy^Nu9pUPur_PN=N*%2`T8AT zp9+sKs6W-%j`)|Pi*I_1OqXg)rEI6ThrwDZ*&ReHEfH0Z3mxbnBZxb)lL&M z5v2)?6*wtWU%X-*ZoyC#a0~+LDNu~a-4IRP`%fy{W6_NuHQ?!3qUeh{39!4b=Enq&HJU|a9G1$-}p61R) zZYFV5zs|svKYvFo5eMQI9L4)^JM>t%O{)Q=CpNFQ>4+?{XW-d2kD^SoUm+b(dURFN zB;KA+-Tdw3Zkh;-+2ukHF6j$x3!5{>zW*B8p42ll{11`s=fX@55=5v|2k&(M@r+#K zC>`l+G%T)lXH1qEuD9b#z?Lrq1x|#lMCt!Usr2(JVcNi#-5T5F=Ej1XJ#8fn($Ext zL-8DYC}9t7+Oq+89cR3-23hl~mxzmXDG%;luYcTGi`HI)e5y@VXPb$2r^k`fBc-L1 zH(MXdEpf+%(@Ig!^E-K)w@&i1$nP`opTpZKF*l>>{_eW_Xr)7AkiSB|7d=-tjc5|N z7`Gn#3rA=IT%BgA3|jjVn^iXO`mNuR&6{1%P~%vkvrEi^ zHc>`oZU-#qlpIW&l%Pg)42nf9FVoNA$+7FUKmrZeS!C6+2`Ho;pR>-ids zbud_x1a>;c7@tW8W|o^y7XEk-!?UP?h6zT)S)3k^iA2R~3De8Jj32*kf{8n#6Zl$3?fuWy?#E>Qo4i%MWDN*_gpBs7CsCHB>yr&|*G!$1W8 zfm4~(zs^uW#DCqxGK!UGbu6c>93##sT&vu)XURGohIU8ox*JE*JXCLm@StNk-@xZt zWp`5t$}&4Ns(yC?a#znU9Y#RuG;RsF?xKfduOIDa8}2qz2-Tl$I*yL-=v!?U&B6_{A2`}Q7E|VFMTk~EB z?3Q1lY8na!Sfe zC&yE;jL~NQeQ3PG!c6MGuR6HsAszosKH=9Jiw%u?smek|%p-MMgLBl79FJ}*M!*tx z)?1som8;_N^L7ax{Uq;6t*QqUu}cz6zkC(b2_c++yZ>Ks6$*73Q1;zM5sqA|*=y+y z>SGo!4wE;}DFC8#o%rhR1;vXOyl(dlDJ@KZJj>}9J2l)0?`KY|-k8ntY}o|7+Q%<# zkE88SyW~HzN$Ur^br}fGIspCO_;1E$20CH9u<@j=2lj+=P4+TJHoucu-%ju?7q_>r z@GToMHrdoIC>OrN(ckb&sB+sZ=rJ`B^-X<9cU-e$R>n#1`s%P1qMyQr#>1PVoXXW; z!5Y`K^2<~goi_1FQSW7DJj6*ID56;>Fy?*BM)_y+WLGb*47fwzp4H*%R^~-89;=w& z%7*11h!n~Ajf)DOp3>lXIMhK=sxAC5Di20N-)$>~#Q_G*b#@QO#8Qu#k{dy78mb?= zp-4ydyZM)w;COV=aJNamZ{qkbCmml6et%Y5h7H?5)i7gVLx%0C(9FFxH-_00v6K_a zgT6|RrwvPqrRJFE04H5SXO$xtnr=LK;JX4YLM_h@aW-`ao@DzDnxOEo z!NawA&!OCwWefD40kVxVu4DGV0(Cb&6k%#yW(bp#qNdWkq50g%GL4xsfLpM`Yx1oA zY-9O!zuAdrq5;DceWR<7I}UX z0T71NycQp5_)aLgkVo{cb*{~&cBh6{bSGLgUmL=P+T_Mlk$@q_cUTtfX^%lhO+6hA6DKx!{blme|w=K#5Ac#_pe;-<#fz3lpvUgTk z+a#>lOFovzE7TpW0VhW2iQ)zd&T$-ntC@Gt?2KlWjo07u)?l^lXDaLc2u@qTwBTdv zYGa!Kd`}ccJ!j zyLU@$N;O_y0dgtVtOO9r!@F9moHg%VtmdQG%j`<$|jC$_ih%4;O>r1&pGLBs9DvHzL1AQ^p(Hy+2p8k zQbcDl^}J2C$4jQOLW9~N+`)}0^ zUYP)BV26$w^KeiBD;=0by)rC$ay9N|^L1ZyXymuCBG4@fT(6!{^-QXJU$qwGPDKE}x%y`XHm8kLl`?VM+brz3L{?9#e7c)D zt!qc-uqGluvD7v@G*^zJfM*7J>-7N(7d#;KV4fX| zN$( z*=Fow9D3fryqrTki?-(wO5;nXE!5TLqMz&{c^#VLz4lU`7;6w?8+ETJYm&85W59LH z=%Z+Dka3K#>~4|o%gkD&A^uTr1(M8RPV4t@%J_G)x^9zKzCSX=JKzQ`KEP>SvpueT z&5Kr@1lZ|h!pF$Bp=q(cOv1~*TMfwa9G$szLM{W3R9L)_DmU2oG;F+hLQi&)Rp74J z&2g?B~(-5hwLL*3&_P_z=(<`^dIKUf$%nao+r>fetYP0^nVA8L(y24k(L2 zBhpVs z47<{ zbdo8R5(&?WI<44XzDnYFWVG^vK;z!mqZ6Vr@WbLi6}vbtMSi+iQMF#)-*CU)fmDD2 zfz!&;gK@*@UAd3k!qCAq?v+Q3d+&^vOK*M^*2FOpU6-HERnvW3%}1e zuh}CEnJd&nDr`6>sHNsL0w8cv*%yu-0wiiGVq2Ui0CkXFSvceWlX8=odZfpr>v8#U70yyPQYmqI*EV1nEN4fHqK|x&sDwgzf=w( zo}wS8%Rim&6}!qe-q~v5#IvYu>?$t0nm8Dt%~ZzbDS3c2@Gz!k2ID5EQ(D#jnQR)g z6w38G8OxyO&<)DXEmXPxQd4udIPibf)W`&=?bH=9xLX#sI42_<(st+%lb9?Fe-kJC zxin2{cFK}~(hVg$Z`S*Fw!6jB52B1`rlDYwrkt3d2g^~}5q%7ZIMUBI{* z(|`<0pf=el22D>Cd-^4w4?k`xPIlA?qO+;k7R0q*bClqNGKJE}t~u0?SR{OU3h>Pt zo^kBr|M&7D%--MSMUKFZ5-u$ob!Z6bqFmqGV(xrAmr88;<1Wbwcj(*mCqeSe^b}!a z&?@K*qSTJ##;cMR(%=yD?b5;G?y?eiQFB39?0rX_!LBJ)dE&d;AF)dXLQK94f_1b&YNMpx8I?=PV|8GeD}a98`katM=bCECq+$|^_yQXi>~GNTB~%iRL`nm1U{ z{>2~ZfUU%^t@ge@_+K}RQg1hemKK_Rf=oRhjrF-P3BD<*?122`rZ&1v$nUJ5_zr`k zH2#M?i40R1{+U#y%lZqVe+BVVy6BOWI_SS44$frc?YvHLeZFW=horqRLN{s2Eo!$JSa|IaSb<58Dw zq7}|JTFcRR;_3#XNZ$~WnoKBvvh9YKJKHpW{;kS|B-=Cmjvuz3PvtP5G`pa_sE-t| z_q}SD<@aid;|VYg_%BT|yKWK^sNcSkaD?qR$P zu)4I+ezr}V?fI~J{fLw>!amM?18fx%vga(T#GDi|1_)t3nZ$g@AEX`j<~Zikv5b|@ z=L~I(?}3N1xbp%&e_0hGPM*2@M7(;HEV)$dD+&S!v~^~u2;39jV8C_kW|$8?GG*fx zRdj$?|M1CwNo=bAq1tdRCM`G7BN}*Ol>DS@)q!KgVs^%Fi1apio_=;5?#K;~3ef!J zN~_=aJs_a$`G7crI6IVcjC^TiHArglAjZA%=+V`XJA%_JYT-1`x7OYOgCAID(9t(! zS%0+v2YT`5CK2FjQ@U$VBfinfLoq=}BMu9B#-N8_h?*S`t=0wTestKv1bSn0>GU-W z3DAISwDPpA$Ai{0V4ZQ&1IeQHbG$A&~x6QKjng#tcOY0&15i7i)2}Lb%Fx>Qs>7xb-*DP>ngiX zV(I_Q5)Y&A@``q?{$F2L9T!E{?^i*PkSwXX^?K|ZbU#@VhJS{k(Lr^X%H5q zySqVHy1ToUxWn^4ukU;BeedNTKA)X4b7s!@eQVClF4$Z4|68AU!i=(5ajCK`k$XAT zM^tgk7Pf*W(prt6sB?W}p413RtquPY;T!(k5xH9H#{XN{1J%M;i*c`CZo`IG%;$Z5 z#Af5HL?3JyQ$-2wHfVYqy_~YFaup&?l~~MXzLD79qe8iHDNN!4>WooEgK&2LJoTW` zP5a8g&-t7tZTA5>tQ1}O)aPr*9O;GeIpX3hwKR|2J+Y0`S(g7sNif_re|%0^Vi+Bz z{|0l6fLPV=|69nw_9{8%`K@-_Z7^}<`_Z+Fe!~&1>dUz5+3;*tZ)Fr@wX|@A?LWW2 z0H^6Gs7!~p5KArFxI}Yp8kSYj<->0X8*9r><6AgPi4u8Zl9&y#ygY7}o|0ny%pS~Q zr+NXS-Q!bC^g@+2D{3~-kh%N3L54b4pEA*hmYI64)gw|9 z{FM;!W}+N#etP%RsCf`h?&S{I(y|ww{bG`rqH3 zZ+5Z$_m!V0MW6Ejw0zT_9^F+X37sv$782&KVzrnV%jML}9~V>_t#0f{ny7p|^^Z3% zu)cU6gh>A@{$3je{vR*#m)nCmxhF?uNqK}00*(L9kncn67R;Y<^m;HEErxncZI@d{gAfTrc@RiOz8c(!v)EeR^DAZV?Nm0z3_i zpXsouU7b>-w%qDuTfUKXH!K`1*F0^V{%w7utOcK!x%%29I<1wda7{Qlx<)0C@ZDWV z(xKe|Y$rT&G)Q24uY_|W*^}0OQlDS>Jh}y1amJTyn&TJAZsWwiselOq+(Qr}Y zJ6j_ZeFV{$_gG#}i!D{onv;Lq8c2tg+Y!EpR z6@6x+qLh9*AVg(G<)IjYuLXL|XZ9czAFm1}=V+~?ZOY3TuUAL|Ex+`$kEdfe5@ z|Fs6DiI8HpjCxFuHJcu~?S>k6DNp&TpxviCN1yECM+L;kSa)p={wqM zB)3h^x+mp@JwIxj3%kT~8*RQjy&&)!_>l`w zcIcs*I^{F@?aDeLOX<4Wd;$CHIgOc9B)#p-l;o22xB9Jf02UymGgw#@H&K{i46|s7 zT^774zUAiqkqGIuR;1%QUkdccU~sOVaQ+$P};Z3bW;qiv(1`{dk!i5lJsUkTkYueC(V4!~u~A3yT`dQ~Z0 z!PL%zm)@5CDyF1zO^+a1^BgM?AE|M{_$u2}Js;E7;41b}mE-v5Miv!0;(U(2`Z>QChN0$=Xvg)N>guw3(PzPXd! z&3^4Lz-~Qpo_c4$Kd}5G|Mu=v<6eC!e-p>EXU~3xVLW?Ro#_+M@B*5EnCt8-D?1r| ze};IgnJpx2X(XaEnR6YZr>QB@Kda_gu(JG}OuPy8fliF~Q-=v)ha0o+%t+jQm>e97 zh)efAiRxbd^Q8N45gAB=u+30i_-6CH8Wg=yetE}2%jkNoSiMrY@36ig-sS&eQN)_L z4c&-?B`AL!(~oKeHazzBuUn19;_nRaHY$BSx;@1} zWs3=SUSO#@4R4-3F-q?i2>L=srsDKL$jfw2qVmq8Tb5nhPR~crh4n#GH^fDss4Pve z?983a%Ad9;ynelF&gjFqk?<@u5ES}IZ?ZqSaB4wy} zS<>%W8U@JUh8Fp!h&CT;rFBch(m0^B3Xb8e zimiZToLX62fxAc!lcykcV!BGblwcv0^oj$_rfo%N%y_H?uVSMAQJ-qkB6&zm^N`gI zx}8N-H%!cRwera&?Coml5Cxd)ODu_{F&wUuzygEy*=q<-;1{Wc8`QR#HL1H}enYSS z@Pw-(Li#X)aO3PCq;P;%$~^1A8uBXqX%YRI!^L?^ij6T@d~#e8hIH)w)RAp;V|ncB z1=o+-Pk+Ck?+>rTp2TM}pxU?+eN3I{&4G!enKSBoB`pXNoipP&(M?;KXOB{`!+fYPmK`dfhDd?;rgl@o-rX=JF`=z4+?aAy{tZ-FN;s3&&WTvHo z2}(QZIcJ!THRP?c>i~P`$~)qc5(r5>n^N-N4OC02 z`iwH@I@Qo`q7`m_BtD30^@D2_guY}b;kw7)QpdJ6Gl!vthZfF=vM87GFfN zV;nWA#N&VpmbUZ6Zk0m)wt-kUV;*;o3byfz!Xs$O!DgMDsf974As=&9i|7;+3V7-SFQYKpOXTtd6{t5|4HyC6v9R`qIT;_??0ZL}!3R{UQ3t ziQi)Vx#{^H6kUJg@nSre^eSv(7W*jeZH&PL2#PEA6I1l{$a@akQLW0UXza59J=pUW zU%oS_-h9rpV{cGW8{zjIclGQYf2X0Z41+0^0ZvWMOoG)9tApZOvw}ZJLRrx%8!sXaF8!w@}jW0 za+QmB+BOn(K;&8TFBVD6){m73p(a)>vIf-KydYP4cp#kPg?dILwkYMvx9$qeUh0iQ zn2Oh-e2md-c&)X_$3;-^x~MyrH`)7iT3s)4uGG1WYPv^{8offlv<<2lX*`NbWY>rE z`_&;tOtkQa0V4&hIukg1P-C2#Z2 z9r-RXVvOB6&`D|7J}fE}lcSN^X6l+WBTMpghAVtG-0*==i#z_~jU&TQlc zKDA*t=x(FR83z}~AS9+MktcU0``<8+-F~}`KHZZz3y_DS*4*==HI?9?Kflj4c)r$c zpCOq5a=zDIW<5&o3Cckvqk{Ti-=2VS^Yed{{v%K)<+s=}>q#?A3y66;IdQeLwr7rN{MYY7>xUkj{_22x{K?}1E(CD`jDH%8M7gJ+Vtk}LeD=?@ zFB7!jK?#(G1xd$Ru;-tK;!|H8vCyMRa+U_A*y2ZZ=>GZ~D{J^I6Fxw66dR|W#RAFU zPJVxSqJS=gi^)4xmHvE^*?J(TZ2xavbuN0$4T%A@sQ6X(pFKrlH9ICPvQm2114W4X zr+WcELl~dJS6SFo`aio%;{{7Xr3I55Dbc-I>qmnB+0o{XdrIT^cU3E|wv3~3j~U@3 zqNdRetUsqwYD$6v!lY$#5l9}TNbBQ9-m)Q!EVrRPnIaW1`*U>0_G3Xw!NJzv-hys3 z%0Xeo&sJ<>%Qzy^DDotes-n(qV8{&5F|^d*dpI-m@z_qdKD z>0hIfS?@@0MIyFn>z*R5p+WfW-Mgft!@r&>zV=`i;Yz@Cs!sAr`)i6nE9Llqw$RBT z3)j@ppcgz7`)i`&VyVn1THD(Lx&G<~53`ko^3Z{ohv(&UhWp)ei|*Uau#-R^^m2s0 zX|Rm>)Au=QvXYg1e{QMJ5_NR<#?D_Gwn%|(UEY2cI-ipcU1glA$w6smmF|+z-(;-I%a^;{Fx2@ztmhiE^FrR7jDq#85!R&;E3;G2o91_9vbV6 zKc~!c=;&1ZdrBTJE-uEP1wgX zuA=;_1ds=hp|V_~BO_^J@19HlX>D3s@tr+r87zSc9EL>Donw{d&px(C)Ao(!I@&FI z{{)4d&8E$~Dnpt76RPXj9y!Jy3@6_u4@ywek>I|%vx-;( z$5Mm1&SZi5N2@1XU0uEZ>K`vJuZ5*0zfMXBW^iyY5z^&GMg-2&r)VYGm{e3$Ec#VA zfq{Vx({v0Brq>sTkur2DFJj#{v*N!C6>Ah|F7Er@)gGJ=XGn8;9GO?u)c9E>Hn_A+ zaW6ysQ8B(Is8?b8 zRI^B5_WrVLe_u2>ZVXZPedEk{lU>f8qnM>;GJR&J7>BsLTm(k$wVj<^G{U|$q9mNd zZmNu7J6kc)lG6~fE!+VX=&ir$EIZqJGOBHHR0X>G&rKB0PX zn0d1ILAV||-;#!_(n3Vph$rhB(mN?Jn(ud+DwmIT<<34AuYAw;nRGGY(J`%}@C{8Z z`t&2z=LZ`T#(my2506u~rs>FSP92wBO$Sqi7!VegmVPEAUFN?Srb%JkFJjTR;V|MU z<$;yqlI9Ot1zGdnHoM$<(?)`WW;0cez-aEcbxjDD5~Y@(j!$KdpSg7$nHGjle`P#d zF>!R{Bx2P?wzs#hs;ylvhZ}MS!wL@s?McK;%DgU}=;-Jc)>D0@0CpA^7snwZ!vMg? z`*E%wVm4i2*VWzKocAUtGCJBnC)HxwNMN(AnnmVvHsK5Vq-#O;%SHIgEM8=OF z4>i>sOiOV8@!pEWgW-IBwTOD{Q8r*Qu1eFk;dq@7jkPB2Iegk)kgMGm4ARK@P{3 zPa6=zuP?4s^v4%Go6?JO(ev`MEL(qRQlWx;eSLRksz=Qy_hxHxad3v{1ebZT($YYQ zyml>#_6@-XwIBFb0k`f_9#ejnz`Dy0ny7ItXoo^t&l1Wneil}aGnCT{4QLwvjCIr- zF;}J>NPb0JU0r=K=zHsrLCm($6U*#=+|Ng$2Gs$Hv&(vU2@E=jQ zS8uO`s%lgq3U{qL-U?rEyj)y{1Pi-C&0WP&vSCZRpPDVI2}P=X@?jS0uHJj111Wb-8XGz-=4j zg=7TikJkDU{DFE&jF_LhdF4E1JA5$593=w~Nnm5FTvj`xte~KvonyBU@$J}37`w30 z?fReCm+r>DS&y_w+M=}Nw7RnwWf zi4wDkUltheXKO5eH53(LphOu?)0F{TIi}Oxg{6%?~8=r+dABwj4Cs+u@S}D%{R=h1hsa+ z2>?O>5No_)=-boNnUp zxD&9RM~P;KoosZWhqk(UfLUkwB0${I`*ZcU0FAnCk1w`jiv&nzSeL#$6vU3R0L&7` zvSb1vQ4^K+Q~*0{ZEqg}dzdXWeL6TiEFm?vu%Q32KNnVF)`^b0GgXd}o}Ny^ZHak( zea&IkfoX1Osf)S1Gg<0>(2Tk(_nEb`&Z3vdWp|2D0*cw(czX(C5ZaUW5%6~aA%15qfiSAr|44NlSny2N=)p5#K={9`%YxfJT)(^>0ED-kJ})Us8Q9(9qLATJDUHwzXv`GHMLJzV-@17}a|c0*nugJs22+@9Go1 zJv|)OBXkN$9JrU4mtX**i80YXe$XTddf>4)T>O|kt-wrw&wP67X>Oqa4uJO=AF>YI9ExA9UGtE?$vJ8H_+ZXhXL`M_G)uTh{ROAcj@a5Bdk(9P^i35 za0P{g`uFCGy~n4dVD)w*6@6OLvBZ$6q(Y(2j_^5XvVvM3fk5)W7Ht%(Y;-qW0vWIE zNA(whYIy;YG|gH@-hnrWb3VxMEKpMBTu%WCP*YP2pj_$ckyBS!H$L4O)2?&pR7w_j z5hT*O!+gL^@gmG46{AKt8pQQ1YK*GBKg1!$Xq_Cr2|fGCJ9YW53B(z#Sh1 zNZI$Y*JxpVoe|Sc(ET7ymPA?jlJ36l($b#YKY5&6Soj)Xp1ryHka8Qi>GpWx#(bm5 zLnNfbW>l&Lpwz28j4+rRg{h*NkQY|uRPCo&|>8t z@$vCtlD>Ql_%I@Awv(Mnd@(UG6()iWIE<>Nrw50E;z^cTFrYWI&z_}CVxa?!m?8ve z85<*Xs@B&weDlV?tn8)a>(|Y_y%=+Ib0nOm$X}zQ0|!#ZyLx)AGVq_NYkvS#I@)Qx z0p8$rfv6RyS-gEKD7(1%oZF+Wl}V@`Gd&$T5SsF$btAYVW6Q?ICHLn~n_Izxm~ZFi z$SL3Ou>!^Y-sCvj8qTwiV2q6kWLkZrs%~~<@$z2n>gI7#nQ8DQwpwy_Sb2+rhaWP` z*Mi}X^1(*cP$xeEsR>_M@Ds(W4}12Ys(uv|xbyw>l$b@|a&F`hmpCFL??=Fn++#aRNvwMew~(Etis?$}H@MpRuv`#~xOIJAHh7K8J?30o;~0{8mL( zl{!foB1JYe!k-S`eiGrXu0`evzPs7?rG52^49KPuYHE0Zli_sT`fbU+1Mu8yU0u?F z6d{aYNtzQDGHHu@1I%sNC+hAF=6yf&d1uEqiQl=yR(ou0Oc8pgZMOTZGmI=KidOoE z7R>OQu(yEl&B>deI;B!zK;;HZ4i=ilBi`7wa*w=ydB3$If+_-l%Sg5$_t$Q7I{|$t zkRX_C&cgr!2d0P`3?>1W?-ODavFsz6sq?^}_dZXSUufze@1j1GVm98yMI1ONPau|>*S3~HIQaPf zZEceGr!rk>-wBNT_xfyebMu9j?&y0T(r~eakyFn%^}T3~bO{0Ifa7(4c{~?4_aT6| zdlf6I@?AdDu_?<`oSO2o8@zYam1F#K>1P*)dy5i3p? z-3>%NRRC8Oy>W~2Mn26zpaFqWeXgF@xNQ1yTMZZkGiHhOwRbhLcXeYp0~K%((4irf zI>cV>V@yosPRET|#GC^sF)=anqes+yd~jRs*&0^~507dC!Z(nJYTvutp?Bqgl0zdR zu)`@{L4)xbD|FmD3>y=;t$_1E(yM%L$A#RfmJ%2c0OIIlnsc9^0m2<(pNzb75$F*N zIb#W@5(&R&Vr-!k96$$yrlxcOk~BVCYS%7*M;IeVf3`E}4>0Vs#-^;25>%U|A`f>g z4&hc&=Hc$X@P2icp;ul`ZeeZBQmYzZ8$|{-Ze9kmaoL}<=l#2*PX{GzwkgOvCx55e z*V(mJ!d~i+lSj#zA3N$`^rmnTlasT!Tme^?@Oz!q4P1_zg384`_V|gbwA{Pr;u5n_ zN&2Sg2Kd=kxLohibwPYnT-%_uu}k${~8i2?C*8+&>GDNlM=NL!KBnKi@V{ zt4-H?W`erPxcQ+VVyE;m8k$(Dus4u&Mt6AVIXG~bHGej3jTId3lnx54)(?-nl*dDN zvkJ6eG>nWn-DWQL-g!OQ?ci+MKCx_2x3|B)e~;JN=D57RCxq3at}q}dXc>?WfDnOc zWqSU+IbWjy2M6b4O-&8&rVJO9bqS0`8ioQORB$j+|01lOrlNtU-JRB4hlsq>WTh*r ztE-D+Qw7LO72uE^e{A8m@Y)Jjf#liFq@*Ow@Z|uqV<6lFqIFKu2qr590clz+V|bw} zidNG~&;Fa0IQs{=FWs>FUose4LZEayehv?pa&dXNHkgVH=)lsFX-rH^T5j&+0?k4^ zQpFCFnI{0W(UgTwe^U`Uunwe(M7$0m63bHiWJ0pCva+xkL{)*9(5v;elGoGL){d5K z0~`}j?TXN`%9s*PYh|I98R6tZK^LfJkRyRqD^(~u21fI*pY2#|ke;Nij?B9uugG|Xl)QmVZ88x@y$EBsl;BFKscdx|8xn;{h5 zYI%<%!k=`oH?E*Z>!To7EyWwL@(~FMnGbCOyghxkMg-YfzBf#~wi6!}6L}|-eBvyU zeaf8WM^>4hOv^_I9zDKy2(A_u79_%6U@R(O7X2X7ib351dcb`QXi3KqL#C7L+TDc! zv@ruRGF)kIq+jn@KDG$>*K%FEDpa@4kw?0PL;%|Y@mIUV^wHO^Un65<0|BIqrK=bZ zrHNURjRRUP0ocN$<73Co5qcKgvd6>2!}q`j)d3-40OdX@9E^a7$h7I>1JKacfqP2lS9*De(=83J%hmXMr=g>haIl@i>VZPS z;NcXPNJSk0<_5wSw8)?q3JeuB4-X;WDkmC!8#ywnU@&%YcxyQ9!vYX4TlA1g5kN9O z1i0`SGc!hSJbREN&HayW%*@ObJFUvGXcvPRl~W`Q4JnKCtNm7c0p zTS@>s4WtVsAfp1It!b$}1Q#FQjBC?e@7HRBFW_SaRQ4mg%{Rshh?ka^1H;oVF5Cgo z@I4h88R0tbW=vfGGS@e5D=gq#g6ir7>FDVffuOt@`7%D{w`gHe`@!ODRH|>~q*l<{ zx=r!%v^gC^0+j{scqcwkEfo`!9B+;J+&x@Bg@i0>WUJCXR8dn4`|?GgV0(MZ1z;6i z;dic2KxsdIVQFZbsxZ;vgzys(YM?n{k!_(;QSs{=v_HmDGd?gj%FK#Iqo4tbFeQbn zsz&B}8TQYyPBJns^T$A*A!5}v=e&FO?wyLJCiLr9y!#t++i+MVq9pjtQocq`PA;I1 z+h=QQs~E_(3dsUvOFsSOgFnmTfk7O~QKnkVP|E|6NImy}K=`avC-MH=!l^him48|p zm))^GF?GhMl+*-_Z&Y-&Kj4TK#MFnJSn@!z)qjT!d?Tpn-g+oi%G%(0*o*&G+rSIjC(Ir zMC^v4#l;)|;GeOv4J;kE+(Tz%WJJMIOSK=!XWy%?hz0eNX^2c;66Sy#mPuV zw-6;wDJCikGW5B$s5|Om)&{T>IXs%9%=ff@==(u_LBaj~oqJRA@+ARa+YU}n0^;N2 z`#m(()ck;EW=AXCzmJ{;;4t^i@{t1ic(2e<%%^^UXC@bLdF<%uxB$l5+uNI{hw#lA z9JBfP`#WA7n3P6S!VGGOjC?NX)n5?$++JD%tz|Bq`K@ zP=1-9V1wY}>-}IQKMln5Lx41vLf9KbVTSb_j!Tlc>iN9BZeC{Ndx-Jt$w3LLd^f;) ziRGy;HGM(?yKLZid3$quT{whHPwTDG(9lFiMuGsTR!HD_G+XP|`Hj;o4Zf}DgZqKN zIfHP7yN5ceSVp<>c50|bfa1jSn3gh=3+w&+INwjF2azTU3OJSu`~E>0NNJkzg|=>% zL^vN~anLjsjJUp1Auq-hXppVE9Y!tTbvR$frC%4r_!ApV)A%Seg+$;tHfHO$GHlzt z2)=9;rtfxd?Iw!F9-DQ9KK;gF^6>U@&{yEbtwpy+`0m=7dOtL^uTLQ+E{=wue{#uZ ze98(iIzKt#|9->pzg3&t-c0lFyf?T61OZRTc#VNH4LDR!vJX{pqA<7wP1HwOS=q&c z{QNY{0#2uuE=xDBn^SoD@Y{n)t5p7-kTRbe&zSi5#5#!?)ojH?XtndY=~S7uk~8&W zu?Z3&3nlMo1>Sk!h<}cr<(txj%(y+bJLk)H1CNiu8*HK-vK97%L;IZQ=m^|u1U+4B zIYvf%0fSe!x_aT?sHU??=dl>N%RN#z?}I38xA*3}mGQm3_Hg&~1d`1d2Wp@s%_sF2 z?Xk>S-@T=6fTZPfwaFO7aA5C?Ap5X4Gs%|ll#I;A@n|r7X>~Oa&`niY#sD0~I{UK9 zv#NcysXcr3eTVmWXsEs-#P050k!}_FZ?X>ul54vLs^u9I!FGsHFiI;2;CKOSLG{@H zQhYFYYz(lr2h=3MN=si~pTl86v{epu09o$OGLZ;7L|WxQkX^7PIwmF{KmP@AzTz}d zBn;gI!IHqSaDpWPP)KTM5Gth#hXL}OI6o)$uQh{k#{(q5M!a~@GFfVsKK3qf01aw_ zX+J))eQK^Zh zr>?2_5Ck~I6(@cYC}#petgO8JvQAu}W&t5hJ`5J5l;dv*yI(j0h)+dJE9mOVlNz@p z;?S6k!7yhO4MxXF`SWmr)Y9)zL$t#?G?~65l+!YX6Q9&dvlZX;8eSE_Sp;S5oB7aj zx9uVTWF@ZiCE{SoTo{b6`|a|!r0bQ)2r7!8J4Y3q)*KTW8(rQnFg-vN1 z^=&EV;k- zt&R}!;f1s_*nNPSD9mY(I6#&gJC?aCZo;Pd$T^!G$urfSOVZ%d;i0WKRpUS%A#oPe cL?MU1h;uf9GO30P5b!7aT1m1<+}Q8G01FiIRsaA1 diff --git a/src/Doc/ROOT b/src/Doc/ROOT --- a/src/Doc/ROOT +++ b/src/Doc/ROOT @@ -1,515 +1,514 @@ chapter Doc session Classes (doc) in "Classes" = HOL + options [document_variants = "classes", quick_and_dirty] theories [document = false] Setup theories Classes document_files (in "..") "prepare_document" "pdfsetup.sty" "iman.sty" "extra.sty" "isar.sty" "manual.bib" document_files "build" "root.tex" "style.sty" session Codegen (doc) in "Codegen" = HOL + options [document_variants = "codegen", print_mode = "no_brackets,iff"] sessions "HOL-Library" theories [document = false] Setup theories Introduction Foundations Refinement Inductive_Predicate Evaluation Computations Adaptation Further document_files (in "..") "prepare_document" "pdfsetup.sty" "iman.sty" "extra.sty" "isar.sty" "manual.bib" document_files "build" "root.tex" "style.sty" session Corec (doc) in "Corec" = Datatypes + options [document_variants = "corec"] theories Corec document_files (in "..") "prepare_document" "pdfsetup.sty" "iman.sty" "extra.sty" "isar.sty" "manual.bib" document_files "build" "root.tex" "style.sty" session Datatypes (doc) in "Datatypes" = HOL + options [document_variants = "datatypes"] sessions "HOL-Library" theories [document = false] Setup theories Datatypes document_files (in "..") "prepare_document" "pdfsetup.sty" "iman.sty" "extra.sty" "isar.sty" "manual.bib" document_files "build" "root.tex" "style.sty" session Eisbach (doc) in "Eisbach" = HOL + options [document_variants = "eisbach", quick_and_dirty, print_mode = "no_brackets,iff", show_question_marks = false] sessions "HOL-Eisbach" theories [document = false] Base theories Preface Manual document_files (in "..") "prepare_document" "pdfsetup.sty" "iman.sty" "extra.sty" "isar.sty" "ttbox.sty" "underscore.sty" "manual.bib" document_files "build" "root.tex" "style.sty" session Functions (doc) in "Functions" = HOL + options [document_variants = "functions", skip_proofs = false, quick_and_dirty] theories Functions document_files (in "..") "prepare_document" "pdfsetup.sty" "iman.sty" "extra.sty" "isar.sty" "manual.bib" document_files "build" "conclusion.tex" "intro.tex" "root.tex" "style.sty" session How_to_Prove_it (no_doc) in "How_to_Prove_it" = HOL + options [document_variants = "how_to_prove_it", show_question_marks = false] theories How_to_Prove_it document_files "root.tex" "root.bib" "prelude.tex" session Intro (doc) in "Intro" = Pure + options [document_variants = "intro"] document_files (in "..") "prepare_document" "pdfsetup.sty" "iman.sty" "extra.sty" "ttbox.sty" "manual.bib" document_files "advanced.tex" "build" "foundations.tex" "getting.tex" "root.tex" session Implementation (doc) in "Implementation" = HOL + options [document_variants = "implementation", quick_and_dirty] theories Eq Integration Isar Local_Theory "ML" Prelim Proof Syntax Tactic theories [parallel_proofs = 0] Logic document_files (in "..") "prepare_document" "pdfsetup.sty" "iman.sty" "extra.sty" "isar.sty" "ttbox.sty" "underscore.sty" "manual.bib" document_files "build" "root.tex" "style.sty" session Isar_Ref (doc) in "Isar_Ref" = HOL + options [document_variants = "isar-ref", quick_and_dirty, thy_output_source] sessions "HOL-Library" theories Preface Synopsis Framework First_Order_Logic Outer_Syntax Document_Preparation Spec Proof Proof_Script Inner_Syntax Generic HOL_Specific Quick_Reference Symbols document_files (in "..") "prepare_document" "pdfsetup.sty" "iman.sty" "extra.sty" "isar.sty" "ttbox.sty" "underscore.sty" "manual.bib" document_files "build" "isar-vm.pdf" "isar-vm.svg" "root.tex" "showsymbols" "style.sty" session JEdit (doc) in "JEdit" = HOL + options [document_variants = "jedit", thy_output_source] theories JEdit document_files (in "..") "extra.sty" "iman.sty" "isar.sty" "manual.bib" "pdfsetup.sty" "prepare_document" "ttbox.sty" "underscore.sty" document_files (in "../Isar_Ref/document") "style.sty" document_files "auto-tools.png" "bibtex-mode.png" "build" "cite-completion.png" - "isabelle-jedit-hdpi.png" "isabelle-jedit.png" "markdown-document.png" "ml-debugger.png" "output-and-state.png" "output-including-state.png" "output.png" "popup1.png" "popup2.png" "query.png" "root.tex" "scope1.png" "scope2.png" "sidekick-document.png" "sidekick.png" "sledgehammer.png" "theories.png" session Sugar (doc) in "Sugar" = HOL + options [document_variants = "sugar"] sessions "HOL-Library" theories Sugar document_files (in "..") "prepare_document" "pdfsetup.sty" document_files "build" "root.bib" "root.tex" session Locales (doc) in "Locales" = HOL + options [document_variants = "locales", thy_output_margin = 65, skip_proofs = false] theories Examples1 Examples2 Examples3 document_files (in "..") "prepare_document" "pdfsetup.sty" document_files "build" "root.bib" "root.tex" session Logics (doc) in "Logics" = Pure + options [document_variants = "logics"] document_files (in "..") "prepare_document" "pdfsetup.sty" "iman.sty" "extra.sty" "ttbox.sty" "manual.bib" document_files "CTT.tex" "HOL.tex" "LK.tex" "Sequents.tex" "build" "preface.tex" "root.tex" "syntax.tex" session Logics_ZF (doc) in "Logics_ZF" = ZF + options [document_variants = "logics-ZF", print_mode = "brackets", thy_output_source] sessions FOL theories IFOL_examples FOL_examples ZF_examples If ZF_Isar document_files (in "..") "prepare_document" "pdfsetup.sty" "isar.sty" "ttbox.sty" "manual.bib" document_files (in "../Logics/document") "syntax.tex" document_files "FOL.tex" "ZF.tex" "build" "logics.sty" "root.tex" session Main (doc) in "Main" = HOL + options [document_variants = "main"] theories Main_Doc document_files (in "..") "prepare_document" "pdfsetup.sty" document_files "build" "root.tex" session Nitpick (doc) in "Nitpick" = Pure + options [document_variants = "nitpick"] document_files (in "..") "prepare_document" "pdfsetup.sty" "iman.sty" "manual.bib" document_files "build" "root.tex" session Prog_Prove (doc) in "Prog_Prove" = HOL + options [document_variants = "prog-prove", show_question_marks = false] theories Basics Bool_nat_list MyList Types_and_funs Logic Isar document_files (in ".") "MyList.thy" document_files (in "..") "prepare_document" "pdfsetup.sty" document_files "bang.pdf" "build" "intro-isabelle.tex" "prelude.tex" "root.bib" "root.tex" "svmono.cls" session Sledgehammer (doc) in "Sledgehammer" = Pure + options [document_variants = "sledgehammer"] document_files (in "..") "prepare_document" "pdfsetup.sty" "iman.sty" "manual.bib" document_files "build" "root.tex" session System (doc) in "System" = Pure + options [document_variants = "system", thy_output_source] sessions "HOL-Library" theories Environment Sessions Presentation Server Scala Phabricator Misc document_files (in "..") "prepare_document" "pdfsetup.sty" "iman.sty" "extra.sty" "isar.sty" "ttbox.sty" "underscore.sty" "manual.bib" document_files (in "../Isar_Ref/document") "style.sty" document_files "build" "root.tex" session Tutorial (doc) in "Tutorial" = HOL + options [document_variants = "tutorial", print_mode = "brackets", skip_proofs = false] directories "Advanced" "CTL" "CodeGen" "Datatype" "Documents" "Fun" "Ifexpr" "Inductive" "Misc" "Protocol" "Rules" "Sets" "ToyList" "Trie" "Types" theories [document = false] Base theories [threads = 1] "ToyList/ToyList_Test" theories [thy_output_indent = 5] "ToyList/ToyList" "Ifexpr/Ifexpr" "CodeGen/CodeGen" "Trie/Trie" "Datatype/ABexpr" "Datatype/unfoldnested" "Datatype/Nested" "Datatype/Fundata" "Fun/fun0" "Advanced/simp2" "CTL/PDL" "CTL/CTL" "CTL/CTLind" "Inductive/Even" "Inductive/Mutual" "Inductive/Star" "Inductive/AB" "Inductive/Advanced" "Misc/Tree" "Misc/Tree2" "Misc/Plus" "Misc/case_exprs" "Misc/fakenat" "Misc/natsum" "Misc/pairs2" "Misc/Option2" "Misc/types" "Misc/prime_def" "Misc/simp" "Misc/Itrev" "Misc/AdvancedInd" "Misc/appendix" theories "Protocol/NS_Public" "Documents/Documents" theories [thy_output_margin = 64, thy_output_indent = 0] "Types/Numbers" "Types/Pairs" "Types/Records" "Types/Typedefs" "Types/Overloading" "Types/Axioms" "Rules/Basic" "Rules/Blast" "Rules/Force" theories [thy_output_margin = 64, thy_output_indent = 5] "Rules/TPrimes" "Rules/Forward" "Rules/Tacticals" "Rules/find2" "Sets/Examples" "Sets/Functions" "Sets/Relations" "Sets/Recur" document_files (in "ToyList") "ToyList1.txt" "ToyList2.txt" document_files (in "..") "pdfsetup.sty" "ttbox.sty" "manual.bib" document_files "advanced0.tex" "appendix0.tex" "basics.tex" "build" "cl2emono-modified.sty" "ctl0.tex" "documents0.tex" "fp.tex" "inductive0.tex" "isa-index" "Isa-logics.pdf" "numerics.tex" "pghead.pdf" "preface.tex" "protocol.tex" "root.tex" "rules.tex" "sets.tex" "tutorial.sty" "typedef.pdf" "types0.tex" session Typeclass_Hierarchy (doc) in "Typeclass_Hierarchy" = HOL + options [document_variants = "typeclass_hierarchy"] sessions "HOL-Library" theories [document = false] Setup theories Typeclass_Hierarchy document_files (in "..") "prepare_document" "pdfsetup.sty" "iman.sty" "extra.sty" "isar.sty" "manual.bib" document_files "build" "root.tex" "style.sty" diff --git a/src/Doc/System/Environment.thy b/src/Doc/System/Environment.thy --- a/src/Doc/System/Environment.thy +++ b/src/Doc/System/Environment.thy @@ -1,512 +1,512 @@ (*:maxLineLen=78:*) theory Environment imports Base begin chapter \The Isabelle system environment\ text \ This manual describes Isabelle together with related tools as seen from a system oriented view. See also the \<^emph>\Isabelle/Isar Reference Manual\ @{cite "isabelle-isar-ref"} for the actual Isabelle input language and related concepts, and \<^emph>\The Isabelle/Isar Implementation Manual\ @{cite "isabelle-implementation"} for the main concepts of the underlying implementation in Isabelle/ML. \ section \Isabelle settings \label{sec:settings}\ text \ Isabelle executables may depend on the \<^emph>\Isabelle settings\ within the process environment. This is a statically scoped collection of environment variables, such as @{setting ISABELLE_HOME}, @{setting ML_SYSTEM}, @{setting ML_HOME}. These variables are \<^emph>\not\ intended to be set directly from the shell, but are provided by Isabelle \<^emph>\components\ their \<^emph>\settings files\ as explained below. \ subsection \Bootstrapping the environment \label{sec:boot}\ text \ Isabelle executables need to be run within a proper settings environment. This is bootstrapped as described below, on the first invocation of one of the outer wrapper scripts (such as @{executable_ref isabelle}). This happens only once for each process tree, i.e.\ the environment is passed to subprocesses according to regular Unix conventions. \<^enum> The special variable @{setting_def ISABELLE_HOME} is determined automatically from the location of the binary that has been run. You should not try to set @{setting ISABELLE_HOME} manually. Also note that the Isabelle executables either have to be run from their original location in the distribution directory, or via the executable objects created by the @{tool install} tool. Symbolic links are admissible, but a plain copy of the \<^dir>\$ISABELLE_HOME/bin\ files will not work! \<^enum> The file \<^file>\$ISABELLE_HOME/etc/settings\ is run as a @{executable_ref bash} shell script with the auto-export option for variables enabled. This file holds a rather long list of shell variable assignments, thus providing the site-wide default settings. The Isabelle distribution already contains a global settings file with sensible defaults for most variables. When installing the system, only a few of these may have to be adapted (probably @{setting ML_SYSTEM} etc.). \<^enum> The file \<^path>\$ISABELLE_HOME_USER/etc/settings\ (if it exists) is run in the same way as the site default settings. Note that the variable @{setting ISABELLE_HOME_USER} has already been set before --- - usually to something like \<^verbatim>\$USER_HOME/.isabelle/Isabelle2020\. + usually to something like \<^verbatim>\$USER_HOME/.isabelle/Isabelle2021\. Thus individual users may override the site-wide defaults. Typically, a user settings file contains only a few lines, with some assignments that are actually changed. Never copy the central \<^file>\$ISABELLE_HOME/etc/settings\ file! Since settings files are regular GNU @{executable_def bash} scripts, one may use complex shell commands, such as \<^verbatim>\if\ or \<^verbatim>\case\ statements to set variables depending on the system architecture or other environment variables. Such advanced features should be added only with great care, though. In particular, external environment references should be kept at a minimum. \<^medskip> A few variables are somewhat special, e.g.\ @{setting_def ISABELLE_TOOL} is set automatically to the absolute path name of the @{executable isabelle} executables. \<^medskip> Note that the settings environment may be inspected with the @{tool getenv} tool. This might help to figure out the effect of complex settings scripts. \ subsection \Common variables\ text \ This is a reference of common Isabelle settings variables. Note that the list is somewhat open-ended. Third-party utilities or interfaces may add their own selection. Variables that are special in some sense are marked with \\<^sup>*\. \<^descr>[@{setting_def USER_HOME}\\<^sup>*\] Is the cross-platform user home directory. On Unix systems this is usually the same as @{setting HOME}, but on Windows it is the regular home directory of the user, not the one of within the Cygwin root file-system.\<^footnote>\Cygwin itself offers another choice whether its HOME should point to the \<^path>\/home\ directory tree or the Windows user home.\ \<^descr>[@{setting_def ISABELLE_HOME}\\<^sup>*\] is the location of the top-level Isabelle distribution directory. This is automatically determined from the Isabelle executable that has been invoked. Do not attempt to set @{setting ISABELLE_HOME} yourself from the shell! \<^descr>[@{setting_def ISABELLE_HOME_USER}] is the user-specific counterpart of @{setting ISABELLE_HOME}. The default value is relative to \<^path>\$USER_HOME/.isabelle\, under rare circumstances this may be changed in the global setting file. Typically, the @{setting ISABELLE_HOME_USER} directory mimics @{setting ISABELLE_HOME} to some extend. In particular, site-wide defaults may be overridden by a private \<^verbatim>\$ISABELLE_HOME_USER/etc/settings\. \<^descr>[@{setting_def ISABELLE_PLATFORM_FAMILY}\\<^sup>*\] is automatically set to the general platform family: \<^verbatim>\linux\, \<^verbatim>\macos\, \<^verbatim>\windows\. Note that platform-dependent tools usually need to refer to the more specific identification according to @{setting ISABELLE_PLATFORM64}, @{setting ISABELLE_PLATFORM32}, @{setting ISABELLE_WINDOWS_PLATFORM64}, @{setting ISABELLE_WINDOWS_PLATFORM32}. \<^descr>[@{setting_def ISABELLE_PLATFORM64}\\<^sup>*\, @{setting_def ISABELLE_PLATFORM32}\\<^sup>*\] indicate the standard Posix platform: \<^verbatim>\x86_64\ for 64 bit and \<^verbatim>\x86\ for 32 bit, together with a symbolic name for the operating system (\<^verbatim>\linux\, \<^verbatim>\darwin\, \<^verbatim>\cygwin\). All platforms support 64 bit executables, some platforms also support 32 bit executables. In GNU bash scripts, it is possible to use the following expressions (with quotes) to specify a preference of 64 bit over 32 bit: @{verbatim [display] \"${ISABELLE_PLATFORM64:-$ISABELLE_PLATFORM32}"\} In contrast, the subsequent expression prefers the old 32 bit variant (which is only relevant for unusual applications): @{verbatim [display] \"${ISABELLE_PLATFORM32:-$ISABELLE_PLATFORM64}"\} \<^descr>[@{setting_def ISABELLE_WINDOWS_PLATFORM64}\\<^sup>*\, @{setting_def ISABELLE_WINDOWS_PLATFORM32}\\<^sup>*\] indicate the native Windows platform. These settings are analogous (but independent) of those for the standard Posix subsystem: @{setting ISABELLE_PLATFORM64}, @{setting ISABELLE_PLATFORM32}. In GNU bash scripts, a preference for native Windows platform variants may be specified like this (first 64 bit, second 32 bit): @{verbatim [display] \"${ISABELLE_WINDOWS_PLATFORM64:-${ISABELLE_WINDOWS_PLATFORM32:- ${ISABELLE_PLATFORM64:-$ISABELLE_PLATFORM32}}}"\} \<^descr>[@{setting ISABELLE_TOOL}\\<^sup>*\] is automatically set to the full path name of the @{executable isabelle} executable. \<^descr>[@{setting_def ISABELLE_IDENTIFIER}\\<^sup>*\] refers to the name of this - Isabelle distribution, e.g.\ ``\<^verbatim>\Isabelle2020\''. + Isabelle distribution, e.g.\ ``\<^verbatim>\Isabelle2021\''. \<^descr>[@{setting_def ML_SYSTEM}, @{setting_def ML_HOME}, @{setting_def ML_OPTIONS}, @{setting_def ML_PLATFORM}, @{setting_def ML_IDENTIFIER}\\<^sup>*\] specify the underlying ML system to be used for Isabelle. There is only a fixed set of admissable @{setting ML_SYSTEM} names (see the \<^file>\$ISABELLE_HOME/etc/settings\ file of the distribution). The actual compiler binary will be run from the directory @{setting ML_HOME}, with @{setting ML_OPTIONS} as first arguments on the command line. The optional @{setting ML_PLATFORM} may specify the binary format of ML heap images, which is useful for cross-platform installations. The value of @{setting ML_IDENTIFIER} is automatically obtained by composing the values of @{setting ML_SYSTEM}, @{setting ML_PLATFORM} and the Isabelle version values. \<^descr>[@{setting_def ISABELLE_JDK_HOME}] points to a full JDK (Java Development Kit) installation with \<^verbatim>\javac\ and \<^verbatim>\jar\ executables. Note that conventional \<^verbatim>\JAVA_HOME\ points to the JRE (Java Runtime Environment), not the JDK. \<^descr>[@{setting_def ISABELLE_JAVA_PLATFORM}] identifies the hardware and operating system platform for the Java installation of Isabelle. That is always the (native) 64 bit variant: \<^verbatim>\x86_64-linux\, \<^verbatim>\x86_64-darwin\, \<^verbatim>\x86_64-windows\. \<^descr>[@{setting_def ISABELLE_BROWSER_INFO}] is the directory where HTML and PDF browser information is stored (see also \secref{sec:info}); its default is \<^path>\$ISABELLE_HOME_USER/browser_info\. For ``system build mode'' (see \secref{sec:tool-build}), @{setting_def ISABELLE_BROWSER_INFO_SYSTEM} is used instead; its default is \<^path>\$ISABELLE_HOME/browser_info\. \<^descr>[@{setting_def ISABELLE_HEAPS}] is the directory where session heap images, log files, and build databases are stored; its default is \<^path>\$ISABELLE_HOME_USER/heaps\. If @{system_option system_heaps} is \<^verbatim>\true\, @{setting_def ISABELLE_HEAPS_SYSTEM} is used instead; its default is \<^path>\$ISABELLE_HOME/heaps\. See also \secref{sec:tool-build}. \<^descr>[@{setting_def ISABELLE_LOGIC}] specifies the default logic to load if none is given explicitely by the user. The default value is \<^verbatim>\HOL\. \<^descr>[@{setting_def ISABELLE_LINE_EDITOR}] specifies the line editor for the @{tool_ref console} interface. \<^descr>[@{setting_def ISABELLE_PDFLATEX}, @{setting_def ISABELLE_BIBTEX}] refer to {\LaTeX} related tools for Isabelle document preparation (see also \secref{sec:tool-latex}). \<^descr>[@{setting_def ISABELLE_TOOLS}] is a colon separated list of directories that are scanned by @{executable isabelle} for external utility programs (see also \secref{sec:isabelle-tool}). \<^descr>[@{setting_def ISABELLE_DOCS}] is a colon separated list of directories with documentation files. \<^descr>[@{setting_def PDF_VIEWER}] specifies the program to be used for displaying \<^verbatim>\pdf\ files. \<^descr>[@{setting_def ISABELLE_TMP_PREFIX}\\<^sup>*\] is the prefix from which any running Isabelle ML process derives an individual directory for temporary files. \<^descr>[@{setting_def ISABELLE_TOOL_JAVA_OPTIONS}] is passed to the \<^verbatim>\java\ executable when running Isabelle tools (e.g.\ @{tool build}). This is occasionally helpful to provide more heap space, via additional options like \<^verbatim>\-Xms1g -Xmx4g\. \ subsection \Additional components \label{sec:components}\ text \ Any directory may be registered as an explicit \<^emph>\Isabelle component\. The general layout conventions are that of the main Isabelle distribution itself, and the following two files (both optional) have a special meaning: \<^item> \<^verbatim>\etc/settings\ holds additional settings that are initialized when bootstrapping the overall Isabelle environment, cf.\ \secref{sec:boot}. As usual, the content is interpreted as a GNU bash script. It may refer to the component's enclosing directory via the \<^verbatim>\COMPONENT\ shell variable. For example, the following setting allows to refer to files within the component later on, without having to hardwire absolute paths: @{verbatim [display] \MY_COMPONENT_HOME="$COMPONENT"\} Components can also add to existing Isabelle settings such as @{setting_def ISABELLE_TOOLS}, in order to provide component-specific tools that can be invoked by end-users. For example: @{verbatim [display] \ISABELLE_TOOLS="$ISABELLE_TOOLS:$COMPONENT/lib/Tools"\} \<^item> \<^verbatim>\etc/components\ holds a list of further sub-components of the same structure. The directory specifications given here can be either absolute (with leading \<^verbatim>\/\) or relative to the component's main directory. The root of component initialization is @{setting ISABELLE_HOME} itself. After initializing all of its sub-components recursively, @{setting ISABELLE_HOME_USER} is included in the same manner (if that directory exists). This allows to install private components via \<^path>\$ISABELLE_HOME_USER/etc/components\, although it is often more convenient to do that programmatically via the \<^bash_function>\init_component\ shell function in the \<^verbatim>\etc/settings\ script of \<^verbatim>\$ISABELLE_HOME_USER\ (or any other component directory). For example: @{verbatim [display] \init_component "$HOME/screwdriver-2.0"\} This is tolerant wrt.\ missing component directories, but might produce a warning. \<^medskip> More complex situations may be addressed by initializing components listed in a given catalog file, relatively to some base directory: @{verbatim [display] \init_components "$HOME/my_component_store" "some_catalog_file"\} The component directories listed in the catalog file are treated as relative to the given base directory. See also \secref{sec:tool-components} for some tool-support for resolving components that are formally initialized but not installed yet. \ section \The Isabelle tool wrapper \label{sec:isabelle-tool}\ text \ The main \<^emph>\Isabelle tool wrapper\ provides a generic startup environment for Isabelle-related utilities, user interfaces, add-on applications etc. Such tools automatically benefit from the settings mechanism (\secref{sec:settings}). Moreover, this is the standard way to invoke Isabelle/Scala functionality as a separate operating-system process. Isabelle command-line tools are run uniformly via a common wrapper --- @{executable_ref isabelle}: @{verbatim [display] \Usage: isabelle TOOL [ARGS ...] Start Isabelle TOOL with ARGS; pass "-?" for tool-specific help. Available tools: ...\} Tools may be implemented in Isabelle/Scala or as stand-alone executables (usually as GNU bash scripts). In the invocation of ``@{executable isabelle}~\tool\'', the named \tool\ is resolved as follows (and in the given order). \<^enum> An external tool found on the directories listed in the @{setting ISABELLE_TOOLS} settings variable (colon-separated list in standard POSIX notation). \<^enum> If a file ``\tool\\<^verbatim>\.scala\'' is found, the source needs to define some object that extends the class \<^verbatim>\Isabelle_Tool.Body\. The Scala compiler is invoked on the spot (which may take some time), and the body function is run with the command-line arguments as \<^verbatim>\List[String]\. \<^enum> If an executable file ``\tool\'' is found, it is invoked as stand-alone program with the command-line arguments provided as \<^verbatim>\argv\ array. \<^enum> An internal tool that is registered in \<^verbatim>\etc/settings\ via the shell function \<^bash_function>\isabelle_scala_service\, referring to a suitable instance of class \<^scala_type>\isabelle.Isabelle_Scala_Tools\. This is the preferred approach for non-trivial systems programming in Isabelle/Scala: instead of adhoc interpretation of \<^verbatim>\scala\ scripts, which is somewhat slow and only type-checked at runtime, there are properly compiled \<^verbatim>\jar\ modules (see also the shell function \<^bash_function>\classpath\ in \secref{sec:scala}). There are also various administrative tools that are available from a bare repository clone of Isabelle, but not in regular distributions. \ subsubsection \Examples\ text \ Show the list of available documentation of the Isabelle distribution: @{verbatim [display] \isabelle doc\} View a certain document as follows: @{verbatim [display] \isabelle doc system\} Query the Isabelle settings environment: @{verbatim [display] \isabelle getenv ISABELLE_HOME_USER\} \ section \The raw Isabelle ML process\ subsection \Batch mode \label{sec:tool-process}\ text \ The @{tool_def process} tool runs the raw ML process in batch mode: @{verbatim [display] \Usage: isabelle process [OPTIONS] Options are: -T THEORY load theory -d DIR include session directory -e ML_EXPR evaluate ML expression on startup -f ML_FILE evaluate ML file on startup -l NAME logic session name (default ISABELLE_LOGIC="HOL") -m MODE add print mode for output -o OPTION override Isabelle system OPTION (via NAME=VAL or NAME) Run the raw Isabelle ML process in batch mode.\} \<^medskip> Options \<^verbatim>\-e\ and \<^verbatim>\-f\ allow to evaluate ML code, before the ML process is started. The source is either given literally or taken from a file. Multiple \<^verbatim>\-e\ and \<^verbatim>\-f\ options are evaluated in the given order. Errors lead to premature exit of the ML process with return code 1. \<^medskip> Option \<^verbatim>\-T\ loads a specified theory file. This is a wrapper for \<^verbatim>\-e\ with a suitable \<^ML>\use_thy\ invocation. \<^medskip> Option \<^verbatim>\-l\ specifies the logic session name. Option \<^verbatim>\-d\ specifies additional directories for session roots, see also \secref{sec:tool-build}. \<^medskip> The \<^verbatim>\-m\ option adds identifiers of print modes to be made active for this session. For example, \<^verbatim>\-m ASCII\ prefers ASCII replacement syntax over mathematical Isabelle symbols. \<^medskip> Option \<^verbatim>\-o\ allows to override Isabelle system options for this process, see also \secref{sec:system-options}. \ subsubsection \Examples\ text \ The subsequent example retrieves the \<^verbatim>\Main\ theory value from the theory loader within ML: @{verbatim [display] \isabelle process -e 'Thy_Info.get_theory "Main"'\} Observe the delicate quoting rules for the GNU bash shell vs.\ ML. The Isabelle/ML and Scala libraries provide functions for that, but here we need to do it manually. \<^medskip> This is how to invoke a function body with proper return code and printing of errors, and without printing of a redundant \<^verbatim>\val it = (): unit\ result: @{verbatim [display] \isabelle process -e 'Command_Line.tool (fn () => writeln "OK")'\} @{verbatim [display] \isabelle process -e 'Command_Line.tool (fn () => error "Bad")'\} \ subsection \Interactive mode\ text \ The @{tool_def console} tool runs the raw ML process with interactive console and line editor: @{verbatim [display] \Usage: isabelle console [OPTIONS] Options are: -d DIR include session directory -i NAME include session in name-space of theories -l NAME logic session name (default ISABELLE_LOGIC) -m MODE add print mode for output -n no build of session image on startup -o OPTION override Isabelle system OPTION (via NAME=VAL or NAME) -r bootstrap from raw Poly/ML Build a logic session image and run the raw Isabelle ML process in interactive mode, with line editor ISABELLE_LINE_EDITOR.\} \<^medskip> Option \<^verbatim>\-l\ specifies the logic session name. By default, its heap image is checked and built on demand, but the option \<^verbatim>\-n\ skips that. Option \<^verbatim>\-i\ includes additional sessions into the name-space of theories: multiple occurrences are possible. Option \<^verbatim>\-r\ indicates a bootstrap from the raw Poly/ML system, which is relevant for Isabelle/Pure development. \<^medskip> Options \<^verbatim>\-d\, \<^verbatim>\-m\, \<^verbatim>\-o\ have the same meaning as for @{tool process} (\secref{sec:tool-process}). \<^medskip> The Isabelle/ML process is run through the line editor that is specified via the settings variable @{setting ISABELLE_LINE_EDITOR} (e.g.\ @{executable_def rlwrap} for GNU readline); the fall-back is to use plain standard input/output. The user is connected to the raw ML toplevel loop: this is neither Isabelle/Isar nor Isabelle/ML within the usual formal context. The most relevant ML commands at this stage are \<^ML>\use\ (for ML files) and \<^ML>\use_thy\ (for theory files). \ section \The raw Isabelle Java process \label{sec:isabelle-java}\ text \ The @{executable_ref isabelle_java} executable allows to run a Java process within the name space of Java and Scala components that are bundled with Isabelle, but \<^emph>\without\ the Isabelle settings environment (\secref{sec:settings}). After such a JVM cold-start, the Isabelle environment can be accessed via \<^verbatim>\Isabelle_System.getenv\ as usual, but the underlying process environment remains clean. This is e.g.\ relevant when invoking other processes that should remain separate from the current Isabelle installation. \<^medskip> Note that under normal circumstances, Isabelle command-line tools are run \<^emph>\within\ the settings environment, as provided by the @{executable isabelle} wrapper (\secref{sec:isabelle-tool} and \secref{sec:tool-java}). \ subsubsection \Example\ text \ The subsequent example creates a raw Java process on the command-line and invokes the main Isabelle application entry point: @{verbatim [display] \isabelle_java isabelle.Main\} \ section \YXML versus XML \label{sec:yxml-vs-xml}\ text \ Isabelle tools often use YXML, which is a simple and efficient syntax for untyped XML trees. The YXML format is defined as follows. \<^enum> The encoding is always UTF-8. \<^enum> Body text is represented verbatim (no escaping, no special treatment of white space, no named entities, no CDATA chunks, no comments). \<^enum> Markup elements are represented via ASCII control characters \\<^bold>X = 5\ and \\<^bold>Y = 6\ as follows: \begin{tabular}{ll} XML & YXML \\\hline \<^verbatim>\<\\name attribute\\<^verbatim>\=\\value \\\<^verbatim>\>\ & \\<^bold>X\<^bold>Yname\<^bold>Yattribute\\<^verbatim>\=\\value\\<^bold>X\ \\ \<^verbatim>\\name\\<^verbatim>\>\ & \\<^bold>X\<^bold>Y\<^bold>X\ \\ \end{tabular} There is no special case for empty body text, i.e.\ \<^verbatim>\\ is treated like \<^verbatim>\\. Also note that \\<^bold>X\ and \\<^bold>Y\ may never occur in well-formed XML documents. Parsing YXML is pretty straight-forward: split the text into chunks separated by \\<^bold>X\, then split each chunk into sub-chunks separated by \\<^bold>Y\. Markup chunks start with an empty sub-chunk, and a second empty sub-chunk indicates close of an element. Any other non-empty chunk consists of plain text. For example, see \<^file>\~~/src/Pure/PIDE/yxml.ML\ or \<^file>\~~/src/Pure/PIDE/yxml.scala\. YXML documents may be detected quickly by checking that the first two characters are \\<^bold>X\<^bold>Y\. \ end diff --git a/src/Doc/System/Misc.thy b/src/Doc/System/Misc.thy --- a/src/Doc/System/Misc.thy +++ b/src/Doc/System/Misc.thy @@ -1,366 +1,377 @@ (*:maxLineLen=78:*) theory Misc imports Base begin chapter \Miscellaneous tools \label{ch:tools}\ text \ Subsequently we describe various Isabelle related utilities, given in alphabetical order. \ section \Building Isabelle docker images\ text \ Docker\<^footnote>\\<^url>\https://docs.docker.com\\ provides a self-contained environment for complex applications called \<^emph>\container\, although it does not fully contain the program in a strict sense of the word. This includes basic operating system services (usually based on Linux), shared libraries and other required packages. Thus Docker is a light-weight alternative to regular virtual machines, or a heavy-weight alternative to conventional self-contained applications. Although Isabelle can be easily run on a variety of OS environments without extra containment, Docker images may occasionally be useful when a standardized Linux environment is required, even on Windows\<^footnote>\\<^url>\https://docs.docker.com/docker-for-windows\\ and macOS\<^footnote>\\<^url>\https://docs.docker.com/docker-for-mac\\. Further uses are in common cloud computing environments, where applications need to be submitted as Docker images in the first place. \<^medskip> The @{tool_def build_docker} tool builds docker images from a standard Isabelle application archive for Linux: @{verbatim [display] \Usage: isabelle build_docker [OPTIONS] APP_ARCHIVE Options are: -B NAME base image (default "ubuntu") -E set Isabelle/bin/isabelle as entrypoint -P NAME additional Ubuntu package collection ("X11", "latex") -l NAME default logic (default ISABELLE_LOGIC="HOL") -n no docker build -o FILE output generated Dockerfile -p NAME additional Ubuntu package -t TAG docker build tag -v verbose Build Isabelle docker image with default logic image, using a standard Isabelle application archive for Linux (local file or remote URL).\} Option \<^verbatim>\-E\ sets \<^verbatim>\bin/isabelle\ of the contained Isabelle distribution as the standard entry point of the Docker image. Thus \<^verbatim>\docker run\ will imitate the \<^verbatim>\isabelle\ command-line tool (\secref{sec:isabelle-tool}) of a regular local installation, but it lacks proper GUI support: \<^verbatim>\isabelle jedit\ will not work without further provisions. Note that the default entrypoint may be changed later via \<^verbatim>\docker run --entrypoint="..."\. Option \<^verbatim>\-t\ specifies the Docker image tag: this a symbolic name within the local Docker name space, but also relevant for Docker Hub\<^footnote>\\<^url>\https://hub.docker.com\\. Option \<^verbatim>\-l\ specifies the default logic image of the Isabelle distribution contained in the Docker environment: it will be produced by \<^verbatim>\isabelle build -b\ as usual (\secref{sec:tool-build}) and stored within the image. \<^medskip> Option \<^verbatim>\-B\ specifies the Docker image taken as starting point for the Isabelle installation: it needs to be a suitable version of Ubuntu Linux. The default \<^verbatim>\ubuntu\ refers to the latest LTS version provided by Canonical as the official Ubuntu vendor\<^footnote>\\<^url>\https://hub.docker.com/_/ubuntu\\. For - Isabelle2020 this should be Ubuntu 18.04 LTS. + Isabelle2021 this should be Ubuntu 20.04 LTS. Option \<^verbatim>\-p\ includes additional Ubuntu packages, using the terminology of \<^verbatim>\apt-get install\ within the underlying Linux distribution. Option \<^verbatim>\-P\ refers to high-level package collections: \<^verbatim>\X11\ or \<^verbatim>\latex\ as provided by \<^verbatim>\isabelle build_docker\ (assuming Ubuntu 18.04 LTS). This imposes extra weight on the resulting Docker images. Note that \<^verbatim>\X11\ will only provide remote X11 support according to the modest GUI quality standards of the late 1990-ies. \<^medskip> Option \<^verbatim>\-n\ suppresses the actual \<^verbatim>\docker build\ process. Option \<^verbatim>\-o\ outputs the generated \<^verbatim>\Dockerfile\. Both options together produce a Dockerfile only, which might be useful for informative purposes or other tools. Option \<^verbatim>\-v\ disables quiet-mode of the underlying \<^verbatim>\docker build\ process. \ subsubsection \Examples\ text \ Produce a Dockerfile (without image) from a remote Isabelle distribution: @{verbatim [display] \ isabelle build_docker -E -n -o Dockerfile - https://isabelle.in.tum.de/website-Isabelle2020/dist/Isabelle2020_linux.tar.gz\} + https://isabelle.in.tum.de/website-Isabelle2021/dist/Isabelle2021_linux.tar.gz\} Build a standard Isabelle Docker image from a local Isabelle distribution, with \<^verbatim>\bin/isabelle\ as executable entry point: @{verbatim [display] -\ isabelle build_docker -E -t test/isabelle:Isabelle2020 Isabelle2020_linux.tar.gz\} +\ isabelle build_docker -E -t test/isabelle:Isabelle2021 Isabelle2021_linux.tar.gz\} Invoke the raw Isabelle/ML process within that image: @{verbatim [display] -\ docker run test/isabelle:Isabelle2020 process -e "Session.welcome ()"\} +\ docker run test/isabelle:Isabelle2021 process -e "Session.welcome ()"\} Invoke a Linux command-line tool within the contained Isabelle system environment: @{verbatim [display] -\ docker run test/isabelle:Isabelle2020 env uname -a\} +\ docker run test/isabelle:Isabelle2021 env uname -a\} The latter should always report a Linux operating system, even when running on Windows or macOS. \ -section \Resolving Isabelle components \label{sec:tool-components}\ +section \Managing Isabelle components \label{sec:tool-components}\ text \ - The @{tool_def components} tool resolves Isabelle components: + The @{tool_def components} tool manages Isabelle components: @{verbatim [display] \Usage: isabelle components [OPTIONS] [COMPONENTS ...] Options are: -I init user settings - -R URL component repository - (default $ISABELLE_COMPONENT_REPOSITORY) + -R URL component repository (default $ISABELLE_COMPONENT_REPOSITORY) -a resolve all missing components -l list status + -u DIR update $ISABELLE_HOME_USER/components: add directory + -x DIR update $ISABELLE_HOME_USER/components: remove directory - Resolve Isabelle components via download and installation. - COMPONENTS are identified via base name. + Resolve Isabelle components via download and installation: given COMPONENTS + are identified via base name. Further operations manage etc/settings and + etc/components in $ISABELLE_HOME_USER. - ISABELLE_COMPONENT_REPOSITORY="https://isabelle.in.tum.de/components"\} + ISABELLE_COMPONENT_REPOSITORY="..." + ISABELLE_HOME_USER="..." +\} Components are initialized as described in \secref{sec:components} in a permissive manner, which can mark components as ``missing''. This state is amended by letting @{tool "components"} download and unpack components that are published on the default component repository \<^url>\https://isabelle.in.tum.de/components\ in particular. Option \<^verbatim>\-R\ specifies an alternative component repository. Note that \<^verbatim>\file:///\ URLs can be used for local directories. Option \<^verbatim>\-a\ selects all missing components to be resolved. Explicit components may be named as command line-arguments as well. Note that components are uniquely identified by their base name, while the installation takes place in the location that was specified in the attempt to initialize the component before. + \<^medskip> Option \<^verbatim>\-l\ lists the current state of available and missing components with their location (full name) within the file-system. + \<^medskip> Option \<^verbatim>\-I\ initializes the user settings file to subscribe to the standard components specified in the Isabelle repository clone --- this does not make any sense for regular Isabelle releases. If the file already exists, it needs to be edited manually according to the printed explanation. + + \<^medskip> + Options \<^verbatim>\-u\ and \<^verbatim>\-x\ operate on user components listed in + \<^path>\$ISABELLE_HOME_USER/etc/components\: this avoid manual editing if + Isabelle configuration files. \ section \Viewing documentation \label{sec:tool-doc}\ text \ The @{tool_def doc} tool displays Isabelle documentation: @{verbatim [display] \Usage: isabelle doc [DOC ...] View Isabelle documentation.\} If called without arguments, it lists all available documents. Each line starts with an identifier, followed by a short description. Any of these identifiers may be specified as arguments, in order to display the corresponding document. \<^medskip> The @{setting ISABELLE_DOCS} setting specifies the list of directories (separated by colons) to be scanned for documentations. \ section \Shell commands within the settings environment \label{sec:tool-env}\ text \ The @{tool_def env} tool is a direct wrapper for the standard \<^verbatim>\/usr/bin/env\ command on POSIX systems, running within the Isabelle settings environment (\secref{sec:settings}). The command-line arguments are that of the underlying version of \<^verbatim>\env\. For example, the following invokes an instance of the GNU Bash shell within the Isabelle environment: @{verbatim [display] \isabelle env bash\} \ section \Inspecting the settings environment \label{sec:tool-getenv}\ text \The Isabelle settings environment --- as provided by the site-default and user-specific settings files --- can be inspected with the @{tool_def getenv} tool: @{verbatim [display] \Usage: isabelle getenv [OPTIONS] [VARNAMES ...] Options are: -a display complete environment -b print values only (doesn't work for -a) -d FILE dump complete environment to FILE (null terminated entries) Get value of VARNAMES from the Isabelle settings.\} With the \<^verbatim>\-a\ option, one may inspect the full process environment that Isabelle related programs are run in. This usually contains much more variables than are actually Isabelle settings. Normally, output is a list of lines of the form \name\\<^verbatim>\=\\value\. The \<^verbatim>\-b\ option causes only the values to be printed. Option \<^verbatim>\-d\ produces a dump of the complete environment to the specified file. Entries are terminated by the ASCII null character, i.e.\ the C string terminator. \ subsubsection \Examples\ text \ Get the location of @{setting ISABELLE_HOME_USER} where user-specific information is stored: @{verbatim [display] \isabelle getenv ISABELLE_HOME_USER\} \<^medskip> Get the value only of the same settings variable, which is particularly useful in shell scripts: @{verbatim [display] \isabelle getenv -b ISABELLE_HOME_USER\} \ section \Mercurial repository setup \label{sec:hg-setup}\ text \ The @{tool_def hg_setup} tool simplifies the setup of Mercurial repositories, with hosting via Phabricator (\chref{ch:phabricator}) or SSH file server access. @{verbatim [display] \Usage: isabelle hg_setup [OPTIONS] REMOTE LOCAL_DIR Options are: -n NAME remote repository name (default: base name of LOCAL_DIR) -p PATH Mercurial path name (default: "default") -r assume that remote repository already exists Setup a remote vs. local Mercurial repository: REMOTE either refers to a Phabricator server "user@host" or SSH file server "ssh://user@host/path".\} The \<^verbatim>\REMOTE\ repository specification \<^emph>\excludes\ the actual repository name: that is given by the base name of \<^verbatim>\LOCAL_DIR\, or via option \<^verbatim>\-n\. By default, both sides of the repository are created on demand by default. In contrast, option \<^verbatim>\-r\ assumes that the remote repository already exists: it avoids accidental creation of a persistent repository with unintended name. The local \<^verbatim>\.hg/hgrc\ file is changed to refer to the remote repository, usually via the symbolic path name ``\<^verbatim>\default\''; option \<^verbatim>\-p\ allows to provided a different name. \ subsubsection \Examples\ text \ Setup the current directory as a repository with Phabricator server hosting: @{verbatim [display] \ isabelle hg_setup vcs@vcs.example.org .\} \<^medskip> Setup the current directory as a repository with plain SSH server hosting: @{verbatim [display] \ isabelle hg_setup ssh://files.example.org/data/repositories .\} \<^medskip> Both variants require SSH access to the target server, via public key without password. \ section \Installing standalone Isabelle executables \label{sec:tool-install}\ text \ By default, the main Isabelle binaries (@{executable "isabelle"} etc.) are just run from their location within the distribution directory, probably indirectly by the shell through its @{setting PATH}. Other schemes of installation are supported by the @{tool_def install} tool: @{verbatim [display] \Usage: isabelle install [OPTIONS] BINDIR Options are: -d DISTDIR refer to DISTDIR as Isabelle distribution (default ISABELLE_HOME) Install Isabelle executables with absolute references to the distribution directory.\} The \<^verbatim>\-d\ option overrides the current Isabelle distribution directory as determined by @{setting ISABELLE_HOME}. The \BINDIR\ argument tells where executable wrapper scripts for @{executable "isabelle"} and @{executable isabelle_scala_script} should be placed, which is typically a directory in the shell's @{setting PATH}, such as \<^verbatim>\$HOME/bin\. \<^medskip> It is also possible to make symbolic links of the main Isabelle executables manually, but making separate copies outside the Isabelle distribution directory will not work! \ section \Creating instances of the Isabelle logo\ text \ The @{tool_def logo} tool creates instances of the generic Isabelle logo, for inclusion in PDF{\LaTeX} documents. @{verbatim [display] \Usage: isabelle logo [OPTIONS] [XYZ] Create instance XYZ of the Isabelle logo (PDF). Options are: -o FILE alternative output file (default "isabelle_xyx.pdf") -q quiet mode\} Option \<^verbatim>\-o\ specifies an alternative output file: the default is \<^verbatim>\isabelle_\\xyz\\<^verbatim>\.pdf\ (in lower-case). Option \<^verbatim>\-q\ omits printing of the resulting output file name. \<^medskip> Implementors of Isabelle tools and applications are encouraged to make derived Isabelle logos for their own projects using this template. \ section \Output the version identifier of the Isabelle distribution\ text \ The @{tool_def version} tool displays Isabelle version information: @{verbatim [display] \Usage: isabelle version [OPTIONS] Options are: -i short identification (derived from Mercurial id) Display Isabelle version information.\} \<^medskip> The default is to output the full version string of the Isabelle - distribution, e.g.\ ``\<^verbatim>\Isabelle2020: April 2020\. + distribution, e.g.\ ``\<^verbatim>\Isabelle2021: February 2021\. The \<^verbatim>\-i\ option produces a short identification derived from the Mercurial id of the @{setting ISABELLE_HOME} directory. \ end diff --git a/src/HOL/Cardinals/Wellorder_Extension.thy b/src/HOL/Cardinals/Wellorder_Extension.thy --- a/src/HOL/Cardinals/Wellorder_Extension.thy +++ b/src/HOL/Cardinals/Wellorder_Extension.thy @@ -1,214 +1,213 @@ (* Title: HOL/Cardinals/Wellorder_Extension.thy Author: Christian Sternagel, JAIST *) section \Extending Well-founded Relations to Wellorders\ theory Wellorder_Extension imports Main Order_Union begin subsection \Extending Well-founded Relations to Wellorders\ text \A \emph{downset} (also lower set, decreasing set, initial segment, or downward closed set) is closed w.r.t.\ smaller elements.\ definition downset_on where "downset_on A r = (\x y. (x, y) \ r \ y \ A \ x \ A)" (* text {*Connection to order filters of the @{theory Cardinals} theory.*} lemma (in wo_rel) ofilter_downset_on_conv: "ofilter A \ downset_on A r \ A \ Field r" by (auto simp: downset_on_def ofilter_def under_def) *) lemma downset_onI: "(\x y. (x, y) \ r \ y \ A \ x \ A) \ downset_on A r" by (auto simp: downset_on_def) lemma downset_onD: "downset_on A r \ (x, y) \ r \ y \ A \ x \ A" unfolding downset_on_def by blast text \Extensions of relations w.r.t.\ a given set.\ definition extension_on where "extension_on A r s = (\x\A. \y\A. (x, y) \ s \ (x, y) \ r)" lemma extension_onI: "(\x y. \x \ A; y \ A; (x, y) \ s\ \ (x, y) \ r) \ extension_on A r s" by (auto simp: extension_on_def) lemma extension_onD: "extension_on A r s \ x \ A \ y \ A \ (x, y) \ s \ (x, y) \ r" by (auto simp: extension_on_def) lemma downset_on_Union: assumes "\r. r \ R \ downset_on (Field r) p" shows "downset_on (Field (\R)) p" using assms by (auto intro: downset_onI dest: downset_onD) lemma chain_subset_extension_on_Union: assumes "chain\<^sub>\ R" and "\r. r \ R \ extension_on (Field r) r p" shows "extension_on (Field (\R)) (\R) p" using assms by (simp add: chain_subset_def extension_on_def) (metis (no_types) mono_Field subsetD) lemma downset_on_empty [simp]: "downset_on {} p" by (auto simp: downset_on_def) lemma extension_on_empty [simp]: "extension_on {} p q" by (auto simp: extension_on_def) text \Every well-founded relation can be extended to a wellorder.\ theorem well_order_extension: assumes "wf p" shows "\w. p \ w \ Well_order w" proof - let ?K = "{r. Well_order r \ downset_on (Field r) p \ extension_on (Field r) r p}" define I where "I = init_seg_of \ ?K \ ?K" have I_init: "I \ init_seg_of" by (simp add: I_def) then have subch: "\R. R \ Chains I \ chain\<^sub>\ R" by (auto simp: init_seg_of_def chain_subset_def Chains_def) have Chains_wo: "\R r. R \ Chains I \ r \ R \ Well_order r \ downset_on (Field r) p \ extension_on (Field r) r p" by (simp add: Chains_def I_def) blast have FI: "Field I = ?K" by (auto simp: I_def init_seg_of_def Field_def) then have 0: "Partial_order I" by (auto simp: partial_order_on_def preorder_on_def antisym_def antisym_init_seg_of refl_on_def trans_def I_def elim: trans_init_seg_of) - { fix R assume "R \ Chains I" - then have Ris: "R \ Chains init_seg_of" using mono_Chains [OF I_init] by blast + have "\R \ ?K \ (\r\R. (r,\R) \ I)" if "R \ Chains I" for R + proof - + from that have Ris: "R \ Chains init_seg_of" using mono_Chains [OF I_init] by blast have subch: "chain\<^sub>\ R" using \R \ Chains I\ I_init by (auto simp: init_seg_of_def chain_subset_def Chains_def) have "\r\R. Refl r" and "\r\R. trans r" and "\r\R. antisym r" and "\r\R. Total r" and "\r\R. wf (r - Id)" and "\r. r \ R \ downset_on (Field r) p" and "\r. r \ R \ extension_on (Field r) r p" using Chains_wo [OF \R \ Chains I\] by (simp_all add: order_on_defs) have "Refl (\R)" using \\r\R. Refl r\ unfolding refl_on_def by fastforce moreover have "trans (\R)" by (rule chain_subset_trans_Union [OF subch \\r\R. trans r\]) moreover have "antisym (\R)" by (rule chain_subset_antisym_Union [OF subch \\r\R. antisym r\]) moreover have "Total (\R)" by (rule chain_subset_Total_Union [OF subch \\r\R. Total r\]) moreover have "wf ((\R) - Id)" proof - have "(\R) - Id = \{r - Id | r. r \ R}" by blast with \\r\R. wf (r - Id)\ wf_Union_wf_init_segs [OF Chains_inits_DiffI [OF Ris]] show ?thesis by fastforce qed ultimately have "Well_order (\R)" by (simp add: order_on_defs) moreover have "\r\R. r initial_segment_of \R" using Ris by (simp add: Chains_init_seg_of_Union) moreover have "downset_on (Field (\R)) p" by (rule downset_on_Union [OF \\r. r \ R \ downset_on (Field r) p\]) moreover have "extension_on (Field (\R)) (\R) p" by (rule chain_subset_extension_on_Union [OF subch \\r. r \ R \ extension_on (Field r) r p\]) - ultimately have "\R \ ?K \ (\r\R. (r,\R) \ I)" + ultimately show ?thesis using mono_Chains [OF I_init] and \R \ Chains I\ by (simp (no_asm) add: I_def del: Field_Union) (metis Chains_wo) - } + qed then have 1: "\u\Field I. \r\R. (r, u) \ I" if "R\Chains I" for R using that by (subst FI) blast txt \Zorn's Lemma yields a maximal wellorder m.\ from Zorns_po_lemma [OF 0 1] obtain m :: "('a \ 'a) set" where "Well_order m" and "downset_on (Field m) p" and "extension_on (Field m) m p" and max: "\r. Well_order r \ downset_on (Field r) p \ extension_on (Field r) r p \ (m, r) \ I \ r = m" by (auto simp: FI) have "Field p \ Field m" proof (rule ccontr) let ?Q = "Field p - Field m" assume "\ (Field p \ Field m)" with assms [unfolded wf_eq_minimal, THEN spec, of ?Q] obtain x where "x \ Field p" and "x \ Field m" and min: "\y. (y, x) \ p \ y \ ?Q" by blast txt \Add \<^term>\x\ as topmost element to \<^term>\m\.\ let ?s = "{(y, x) | y. y \ Field m}" let ?m = "insert (x, x) m \ ?s" have Fm: "Field ?m = insert x (Field m)" by (auto simp: Field_def) have "Refl m" and "trans m" and "antisym m" and "Total m" and "wf (m - Id)" using \Well_order m\ by (simp_all add: order_on_defs) txt \We show that the extension is a wellorder.\ have "Refl ?m" using \Refl m\ Fm by (auto simp: refl_on_def) moreover have "trans ?m" using \trans m\ \x \ Field m\ unfolding trans_def Field_def Domain_unfold Domain_converse [symmetric] by blast moreover have "antisym ?m" using \antisym m\ \x \ Field m\ unfolding antisym_def Field_def Domain_unfold Domain_converse [symmetric] by blast moreover have "Total ?m" using \Total m\ Fm by (auto simp: Relation.total_on_def) moreover have "wf (?m - Id)" proof - have "wf ?s" using \x \ Field m\ by (simp add: wf_eq_minimal Field_def Domain_unfold Domain_converse [symmetric]) metis thus ?thesis using \wf (m - Id)\ \x \ Field m\ wf_subset [OF \wf ?s\ Diff_subset] by (fastforce intro!: wf_Un simp add: Un_Diff Field_def) qed ultimately have "Well_order ?m" by (simp add: order_on_defs) moreover have "extension_on (Field ?m) ?m p" using \extension_on (Field m) m p\ \downset_on (Field m) p\ by (subst Fm) (auto simp: extension_on_def dest: downset_onD) moreover have "downset_on (Field ?m) p" apply (subst Fm) using \downset_on (Field m) p\ and min unfolding downset_on_def Field_def by blast moreover have "(m, ?m) \ I" using \Well_order m\ and \Well_order ?m\ and \downset_on (Field m) p\ and \downset_on (Field ?m) p\ and \extension_on (Field m) m p\ and \extension_on (Field ?m) ?m p\ and \Refl m\ and \x \ Field m\ by (auto simp: I_def init_seg_of_def refl_on_def) ultimately \ \This contradicts maximality of m:\ show False using max and \x \ Field m\ unfolding Field_def by blast qed have "p \ m" using \Field p \ Field m\ and \extension_on (Field m) m p\ unfolding Field_def extension_on_def by auto fast with \Well_order m\ show ?thesis by blast qed text \Every well-founded relation can be extended to a total wellorder.\ corollary total_well_order_extension: assumes "wf p" shows "\w. p \ w \ Well_order w \ Field w = UNIV" proof - from well_order_extension [OF assms] obtain w where "p \ w" and wo: "Well_order w" by blast let ?A = "UNIV - Field w" from well_order_on [of ?A] obtain w' where wo': "well_order_on ?A w'" .. have [simp]: "Field w' = ?A" using well_order_on_Well_order [OF wo'] by simp have *: "Field w \ Field w' = {}" by simp let ?w = "w \o w'" have "p \ ?w" using \p \ w\ by (auto simp: Osum_def) moreover have "Well_order ?w" using Osum_Well_order [OF * wo] and wo' by simp moreover have "Field ?w = UNIV" by (simp add: Field_Osum) ultimately show ?thesis by blast qed corollary well_order_on_extension: assumes "wf p" and "Field p \ A" shows "\w. p \ w \ well_order_on A w" proof - from total_well_order_extension [OF \wf p\] obtain r where "p \ r" and wo: "Well_order r" and univ: "Field r = UNIV" by blast let ?r = "{(x, y). x \ A \ y \ A \ (x, y) \ r}" from \p \ r\ have "p \ ?r" using \Field p \ A\ by (auto simp: Field_def) - have 1: "Field ?r = A" using wo univ - by (fastforce simp: Field_def order_on_defs refl_on_def) have "Refl r" "trans r" "antisym r" "Total r" "wf (r - Id)" using \Well_order r\ by (simp_all add: order_on_defs) have "refl_on A ?r" using \Refl r\ by (auto simp: refl_on_def univ) moreover have "trans ?r" using \trans r\ unfolding trans_def by blast moreover have "antisym ?r" using \antisym r\ unfolding antisym_def by blast moreover have "total_on A ?r" using \Total r\ by (simp add: total_on_def univ) moreover have "wf (?r - Id)" by (rule wf_subset [OF \wf(r - Id)\]) blast ultimately have "well_order_on A ?r" by (simp add: order_on_defs) with \p \ ?r\ show ?thesis by blast qed end diff --git a/src/Pure/Admin/build_history.scala b/src/Pure/Admin/build_history.scala --- a/src/Pure/Admin/build_history.scala +++ b/src/Pure/Admin/build_history.scala @@ -1,611 +1,606 @@ /* Title: Pure/Admin/build_history.scala Author: Makarius Build other history versions. */ package isabelle -import java.io.{File => JFile} -import java.time.format.DateTimeFormatter -import java.util.Locale - - object Build_History { /* log files */ val engine = "build_history" val log_prefix = engine + "_" /* augment settings */ def augment_settings( other_isabelle: Other_Isabelle, threads: Int, arch_64: Boolean, heap: Int, max_heap: Option[Int], more_settings: List[String]): String = { val (ml_platform, ml_settings) = { val windows_32 = "x86-windows" val windows_64 = "x86_64-windows" val windows_64_32 = "x86_64_32-windows" val platform_32 = other_isabelle.getenv("ISABELLE_PLATFORM32") val platform_64 = other_isabelle.getenv("ISABELLE_PLATFORM64") val platform_64_32 = platform_64.replace("x86_64-", "x86_64_32-") val polyml_home = try { Path.explode(other_isabelle.getenv("ML_HOME")).dir } catch { case ERROR(msg) => error("Bad ML_HOME: " + msg) } def ml_home(platform: String): Path = polyml_home + Path.explode(platform) def err(platform: String): Nothing = error("Platform " + platform + " unavailable on this machine") def check_dir(platform: String): Boolean = platform != "" && ml_home(platform).is_dir val ml_platform = if (Platform.is_windows && arch_64) { if (check_dir(windows_64)) windows_64 else err(windows_64) } else if (Platform.is_windows && !arch_64) { if (check_dir(windows_64_32)) windows_64_32 else if (check_dir(windows_32)) windows_32 else platform_32 // x86-cygwin } else if (arch_64) { if (check_dir(platform_64)) platform_64 else err(platform_64) } else if (check_dir(platform_64_32)) platform_64_32 else platform_32 val ml_options = "--minheap " + heap + (if (max_heap.isDefined) " --maxheap " + max_heap.get else "") + " --gcthreads " + threads + (if (ml_platform.endsWith("-windows")) " --codepage utf8" else "") (ml_platform, List( "ML_HOME=" + File.bash_path(ml_home(ml_platform)), "ML_PLATFORM=" + quote(ml_platform), "ML_OPTIONS=" + quote(ml_options))) } val thread_settings = List( "ISABELLE_JAVA_SYSTEM_OPTIONS=\"$ISABELLE_JAVA_SYSTEM_OPTIONS -Disabelle.threads=" + threads + "\"", "ISABELLE_BUILD_OPTIONS=\"threads=" + threads + "\"") val settings = List(ml_settings, thread_settings) ::: (if (more_settings.isEmpty) Nil else List(more_settings)) File.append(other_isabelle.etc_settings, "\n" + cat_lines(settings.map(terminate_lines(_)))) ml_platform } /** build_history **/ private val default_user_home = Path.explode("$USER_HOME") private val default_rev = "tip" private val default_multicore = (1, 1) private val default_heap = 1500 private val default_isabelle_identifier = "build_history" def build_history( options: Options, root: Path, user_home: Path = default_user_home, progress: Progress = new Progress, rev: String = default_rev, afp_rev: Option[String] = None, afp_partition: Int = 0, isabelle_identifier: String = default_isabelle_identifier, ml_statistics_step: Int = 1, components_base: Path = Components.default_components_base, fresh: Boolean = false, hostname: String = "", multicore_base: Boolean = false, multicore_list: List[(Int, Int)] = List(default_multicore), arch_64: Boolean = false, heap: Int = default_heap, max_heap: Option[Int] = None, init_settings: List[String] = Nil, more_settings: List[String] = Nil, more_preferences: List[String] = Nil, verbose: Boolean = false, build_tags: List[String] = Nil, build_args: List[String] = Nil): List[(Process_Result, Path)] = { /* sanity checks */ if (File.eq(Path.explode("~~"), root)) error("Repository coincides with ISABELLE_HOME=" + Path.explode("~~").expand) for ((threads, _) <- multicore_list if threads < 1) error("Bad threads value < 1: " + threads) for ((_, processes) <- multicore_list if processes < 1) error("Bad processes value < 1: " + processes) if (heap < 100) error("Bad heap value < 100: " + heap) if (max_heap.isDefined && max_heap.get < heap) error("Bad max_heap value < heap: " + max_heap.get) System.getenv("ISABELLE_SETTINGS_PRESENT") match { case null | "" => case _ => error("Cannot run build_history within existing Isabelle settings environment") } /* checkout Isabelle + AFP repository */ def checkout(dir: Path, version: String): String = { val hg = Mercurial.repository(dir) hg.update(rev = version, clean = true) progress.echo_if(verbose, hg.log(version, options = "-l1")) hg.id(rev = version) } val isabelle_version = checkout(root, rev) val afp_repos = root + Path.explode("AFP") val afp_version = afp_rev.map(checkout(afp_repos, _)) val (afp_build_args, afp_sessions) = if (afp_rev.isEmpty) (Nil, Nil) else { val afp = AFP.init(options, afp_repos) (List("-d", "~~/AFP/thys"), afp.partition(afp_partition)) } /* main */ val other_isabelle = Other_Isabelle(root, isabelle_identifier = isabelle_identifier, user_home = user_home, progress = progress) val build_host = proper_string(hostname) getOrElse Isabelle_System.hostname() val build_history_date = Date.now() val build_group_id = build_host + ":" + build_history_date.time.ms var first_build = true for ((threads, processes) <- multicore_list) yield { /* init settings */ val component_settings = other_isabelle.init_components( components_base = components_base, catalogs = List("main", "optional")) other_isabelle.init_settings(component_settings ::: init_settings) other_isabelle.resolve_components(verbose) val ml_platform = augment_settings(other_isabelle, threads, arch_64, heap, max_heap, more_settings) File.write(other_isabelle.etc_preferences, cat_lines(more_preferences)) val isabelle_output = other_isabelle.isabelle_home_user + Path.explode("heaps") + Path.explode(other_isabelle.getenv("ML_IDENTIFIER")) val isabelle_output_log = isabelle_output + Path.explode("log") val isabelle_base_log = isabelle_output + Path.explode("../base_log") if (first_build) { other_isabelle.resolve_components(verbose) if (fresh) Isabelle_System.rm_tree(other_isabelle.isabelle_home + Path.explode("lib/classes")) other_isabelle.bash( "env PATH=\"" + File.bash_path(Path.explode("~~/lib/dummy_stty").expand) + ":$PATH\" " + "bin/isabelle jedit -b", redirect = true, echo = verbose).check for { tool <- List("ghc_setup", "ocaml_setup") if other_isabelle.getenv("ISABELLE_" + Word.uppercase(tool)) == "true" && (other_isabelle.isabelle_home + Path.explode("lib/Tools/" + tool)).is_file } other_isabelle(tool, echo = verbose) Isabelle_System.rm_tree(isabelle_base_log) } Isabelle_System.rm_tree(isabelle_output) Isabelle_System.make_directory(isabelle_output) val log_path = other_isabelle.isabelle_home_user + Build_Log.log_subdir(build_history_date) + Build_Log.log_filename(Build_History.engine, build_history_date, List(build_host, ml_platform, "M" + threads) ::: build_tags) Isabelle_System.make_directory(log_path.dir) val build_out = other_isabelle.isabelle_home_user + Path.explode("log/build.out") val build_out_progress = new File_Progress(build_out) build_out.file.delete /* build */ if (multicore_base && !first_build && isabelle_base_log.is_dir) Isabelle_System.copy_dir(isabelle_base_log, isabelle_output_log) val build_start = Date.now() val build_args1 = List("-v", "-j" + processes) ::: afp_build_args ::: build_args val build_isabelle = Other_Isabelle(root, isabelle_identifier = isabelle_identifier, user_home = user_home, progress = build_out_progress) val build_result = build_isabelle("build " + Bash.strings(build_args1 ::: afp_sessions), redirect = true, echo = true, strict = false) val build_end = Date.now() val build_info: Build_Log.Build_Info = Build_Log.Log_File(log_path.file_name, build_result.out_lines). parse_build_info(ml_statistics = true) /* output log */ val store = Sessions.store(options + "build_database_server=false") val meta_info = Properties.lines_nonempty(Build_Log.Prop.build_tags.name, build_tags) ::: Properties.lines_nonempty(Build_Log.Prop.build_args.name, build_args1) ::: List( Build_Log.Prop.build_group_id.name -> build_group_id, Build_Log.Prop.build_id.name -> (build_host + ":" + build_start.time.ms), Build_Log.Prop.build_engine.name -> Build_History.engine, Build_Log.Prop.build_host.name -> build_host, Build_Log.Prop.build_start.name -> Build_Log.print_date(build_start), Build_Log.Prop.build_end.name -> Build_Log.print_date(build_end), Build_Log.Prop.isabelle_version.name -> isabelle_version) ::: afp_version.map(Build_Log.Prop.afp_version.name -> _).toList build_out_progress.echo("Reading session build info ...") val session_build_info = build_info.finished_sessions.flatMap(session_name => { val database = isabelle_output + store.database(session_name) if (database.is_file) { using(SQLite.open_database(database))(db => { val theory_timings = try { store.read_theory_timings(db, session_name).map(ps => Protocol.Theory_Timing_Marker((Build_Log.SESSION_NAME, session_name) :: ps)) } catch { case ERROR(_) => Nil } val session_sources = store.read_build(db, session_name).map(_.sources) match { case Some(sources) if sources.length == SHA1.digest_length => List("Sources " + session_name + " " + sources) case _ => Nil } theory_timings ::: session_sources }) } else Nil }) build_out_progress.echo("Reading ML statistics ...") val ml_statistics = build_info.finished_sessions.flatMap(session_name => { val database = isabelle_output + store.database(session_name) val log_gz = isabelle_output + store.log_gz(session_name) val properties = if (database.is_file) { using(SQLite.open_database(database))(db => store.read_ml_statistics(db, session_name)) } else if (log_gz.is_file) { Build_Log.Log_File(log_gz).parse_session_info(ml_statistics = true).ml_statistics } else Nil val trimmed_properties = if (ml_statistics_step <= 0) Nil else if (ml_statistics_step == 1) properties else { (for { (ps, i) <- properties.iterator.zipWithIndex if i % ml_statistics_step == 0 } yield ps).toList } trimmed_properties.map(ps => (Build_Log.SESSION_NAME -> session_name) :: ps) }) build_out_progress.echo("Reading error messages ...") val session_errors = build_info.failed_sessions.flatMap(session_name => { val database = isabelle_output + store.database(session_name) val errors = if (database.is_file) { try { using(SQLite.open_database(database))(db => store.read_errors(db, session_name)) } // column "errors" could be missing catch { case _: java.sql.SQLException => Nil } } else Nil errors.map(msg => List(Build_Log.SESSION_NAME -> session_name, Markup.CONTENT -> msg)) }) build_out_progress.echo("Reading heap sizes ...") val heap_sizes = build_info.finished_sessions.flatMap(session_name => { val heap = isabelle_output + Path.explode(session_name) if (heap.is_file) Some("Heap " + session_name + " (" + Value.Long(heap.file.length) + " bytes)") else None }) build_out_progress.echo("Writing log file " + log_path.xz + " ...") File.write_xz(log_path.xz, terminate_lines( Protocol.Meta_Info_Marker(meta_info) :: build_result.out_lines ::: session_build_info ::: ml_statistics.map(Protocol.ML_Statistics_Marker.apply) ::: session_errors.map(Protocol.Error_Message_Marker.apply) ::: heap_sizes), XZ.options(6)) /* next build */ if (multicore_base && first_build && isabelle_output_log.is_dir) Isabelle_System.copy_dir(isabelle_output_log, isabelle_base_log) Isabelle_System.rm_tree(isabelle_output) first_build = false (build_result, log_path.xz) } } /* command line entry point */ private object Multicore { private val Pat1 = """^(\d+)$""".r private val Pat2 = """^(\d+)x(\d+)$""".r def parse(s: String): (Int, Int) = s match { case Pat1(Value.Int(x)) => (x, 1) case Pat2(Value.Int(x), Value.Int(y)) => (x, y) case _ => error("Bad multicore configuration: " + quote(s)) } } def main(args: Array[String]) { Command_Line.tool { var afp_rev: Option[String] = None var multicore_base = false var components_base: Path = Components.default_components_base var heap: Option[Int] = None var max_heap: Option[Int] = None var multicore_list = List(default_multicore) var isabelle_identifier = default_isabelle_identifier var afp_partition = 0 var more_settings: List[String] = Nil var more_preferences: List[String] = Nil var fresh = false var hostname = "" var init_settings: List[String] = Nil var arch_64 = false var output_file = "" var rev = default_rev var ml_statistics_step = 1 var build_tags = List.empty[String] var user_home = default_user_home var verbose = false var exit_code = false val getopts = Getopts(""" Usage: Admin/build_history [OPTIONS] REPOSITORY [ARGS ...] Options are: -A REV include $ISABELLE_HOME/AFP repository at given revision -B first multicore build serves as base for scheduling information -C DIR base directory for Isabelle components (default: """ + Components.default_components_base + """) -H SIZE minimal ML heap in MB (default: """ + default_heap + """ for x86, """ + default_heap * 2 + """ for x86_64) -M MULTICORE multicore configurations (see below) -N NAME alternative ISABELLE_IDENTIFIER (default: """ + default_isabelle_identifier + """) -P NUMBER AFP partition number (0, 1, 2, default: 0=unrestricted) -U SIZE maximal ML heap in MB (default: unbounded) -e TEXT additional text for generated etc/settings -f fresh build of Isabelle/Scala components (recommended) -h NAME override local hostname -i TEXT initial text for generated etc/settings -m ARCH processor architecture (32=x86, 64=x86_64, default: x86) -o FILE output file for log names (default: stdout) -p TEXT additional text for generated etc/preferences -r REV update to revision (default: """ + default_rev + """) -s NUMBER step size for ML statistics (0=none, 1=all, n=step, default: 1) -t TAG free-form build tag (multiple occurrences possible) -u DIR alternative USER_HOME directory -v verbose -x return overall exit code from build processes Build Isabelle sessions from the history of another REPOSITORY clone, passing ARGS directly to its isabelle build tool. Each MULTICORE configuration consists of one or two numbers (default 1): THREADS or THREADSxPROCESSES, e.g. -M 1,2,4 or -M 1x4,2x2,4. """, "A:" -> (arg => afp_rev = Some(arg)), "B" -> (_ => multicore_base = true), "C:" -> (arg => components_base = Path.explode(arg)), "H:" -> (arg => heap = Some(Value.Int.parse(arg))), "M:" -> (arg => multicore_list = space_explode(',', arg).map(Multicore.parse)), "N:" -> (arg => isabelle_identifier = arg), "P:" -> (arg => afp_partition = Value.Int.parse(arg)), "U:" -> (arg => max_heap = Some(Value.Int.parse(arg))), "e:" -> (arg => more_settings = more_settings ::: List(arg)), "f" -> (_ => fresh = true), "h:" -> (arg => hostname = arg), "i:" -> (arg => init_settings = init_settings ::: List(arg)), "m:" -> { case "32" | "x86" => arch_64 = false case "64" | "x86_64" => arch_64 = true case bad => error("Bad processor architecture: " + quote(bad)) }, "o:" -> (arg => output_file = arg), "p:" -> (arg => more_preferences = more_preferences ::: List(arg)), "r:" -> (arg => rev = arg), "s:" -> (arg => ml_statistics_step = Value.Int.parse(arg)), "t:" -> (arg => build_tags = build_tags ::: List(arg)), "u:" -> (arg => user_home = Path.explode(arg)), "v" -> (_ => verbose = true), "x" -> (_ => exit_code = true)) val more_args = getopts(args) val (root, build_args) = more_args match { case root :: build_args => (Path.explode(root), build_args) case _ => getopts.usage() } val progress = new Console_Progress(stderr = true) val results = build_history(Options.init(), root, user_home = user_home, progress = progress, rev = rev, afp_rev = afp_rev, afp_partition = afp_partition, isabelle_identifier = isabelle_identifier, ml_statistics_step = ml_statistics_step, components_base = components_base, fresh = fresh, hostname = hostname, multicore_base = multicore_base, multicore_list = multicore_list, arch_64 = arch_64, heap = heap.getOrElse(if (arch_64) default_heap * 2 else default_heap), max_heap = max_heap, init_settings = init_settings, more_settings = more_settings, more_preferences = more_preferences, verbose = verbose, build_tags = build_tags, build_args = build_args) if (output_file == "") { for ((_, log_path) <- results) Output.writeln(log_path.implode, stdout = true) } else { File.write(Path.explode(output_file), cat_lines(for ((_, log_path) <- results) yield log_path.implode)) } val rc = (0 /: results) { case (rc, (res, _)) => rc max res.rc } if (rc != 0 && exit_code) sys.exit(rc) } } /** remote build_history -- via command-line **/ def remote_build_history( ssh: SSH.Session, isabelle_repos_self: Path, isabelle_repos_other: Path, isabelle_repos_source: String = Isabelle_Cronjob.isabelle_repos_source, afp_repos_source: String = AFP.repos_source, isabelle_identifier: String = "remote_build_history", self_update: Boolean = false, progress: Progress = new Progress, rev: String = "", afp_rev: Option[String] = None, options: String = "", args: String = ""): List[(String, Bytes)] = { /* Isabelle self repository */ val self_hg = Mercurial.setup_repository(isabelle_repos_source, isabelle_repos_self, ssh = ssh) def execute(cmd: String, args: String, echo: Boolean = false, strict: Boolean = true): Unit = ssh.execute( Isabelle_System.export_isabelle_identifier(isabelle_identifier) + ssh.bash_path(isabelle_repos_self + Path.explode(cmd)) + " " + args, progress_stdout = progress.echo_if(echo, _), progress_stderr = progress.echo_if(echo, _), strict = strict).check if (self_update) { val hg = Mercurial.repository(Path.explode("~~")) hg.push(self_hg.root_url, force = true) self_hg.update(rev = hg.parent(), clean = true) execute("bin/isabelle", "components -I") execute("bin/isabelle", "components -a", echo = true) execute("Admin/build", "jars_fresh") } val rev_id = self_hg.id(rev) /* Isabelle other + AFP repository */ if (Mercurial.is_repository(isabelle_repos_other, ssh = ssh)) { ssh.rm_tree(isabelle_repos_other) } Mercurial.clone_repository( ssh.bash_path(isabelle_repos_self), isabelle_repos_other, rev = rev_id, ssh = ssh) val afp_options = if (afp_rev.isEmpty) "" else { val afp_repos = isabelle_repos_other + Path.explode("AFP") Mercurial.setup_repository(afp_repos_source, afp_repos, ssh = ssh) " -A " + Bash.string(afp_rev.get) } /* Admin/build_history */ ssh.with_tmp_dir(tmp_dir => { val output_file = tmp_dir + Path.explode("output") val rev_options = if (rev == "") "" else " -r " + Bash.string(rev_id) try { execute("Admin/build_history", "-o " + ssh.bash_path(output_file) + rev_options + afp_options + " " + options + " " + ssh.bash_path(isabelle_repos_other) + " " + args, echo = true, strict = false) } catch { case ERROR(msg) => cat_error(msg, "The error(s) above occurred for build_bistory " + rev_options + afp_options) } for (line <- split_lines(ssh.read(output_file))) yield { val log = Path.explode(line) val bytes = ssh.read_bytes(log) ssh.rm(log) (log.file_name, bytes) } }) } } diff --git a/src/Pure/Admin/build_release.scala b/src/Pure/Admin/build_release.scala --- a/src/Pure/Admin/build_release.scala +++ b/src/Pure/Admin/build_release.scala @@ -1,931 +1,933 @@ /* Title: Pure/Admin/build_release.scala Author: Makarius Build full Isabelle distribution from repository. */ package isabelle object Build_Release { /** release info **/ sealed case class Bundle_Info( platform: Platform.Family.Value, platform_description: String, name: String) { def path: Path = Path.explode(name) } class Release private[Build_Release]( progress: Progress, val date: Date, val dist_name: String, val dist_dir: Path, val dist_version: String, val ident: String) { val isabelle_dir: Path = dist_dir + Path.explode(dist_name) val isabelle_archive: Path = dist_dir + Path.explode(dist_name + ".tar.gz") val isabelle_library_archive: Path = dist_dir + Path.explode(dist_name + "_library.tar.gz") def other_isabelle(dir: Path): Other_Isabelle = Other_Isabelle(dir + Path.explode(dist_name), isabelle_identifier = dist_name + "-build", progress = progress) def bundle_info(platform: Platform.Family.Value): Bundle_Info = platform match { case Platform.Family.linux => Bundle_Info(platform, "Linux", dist_name + "_linux.tar.gz") case Platform.Family.macos => Bundle_Info(platform, "macOS", dist_name + "_macos.tar.gz") case Platform.Family.windows => Bundle_Info(platform, "Windows", dist_name + ".exe") } } /** generated content **/ /* patch release */ private val getsettings_path = Path.explode("lib/scripts/getsettings") private val ISABELLE_ID = """ISABELLE_ID="(.+)"""".r def patch_release(release: Release, is_official: Boolean) { val dir = release.isabelle_dir for (name <- List("src/Pure/System/distribution.ML", "src/Pure/System/distribution.scala")) { File.change(dir + Path.explode(name), _.replace("val is_identified = false", "val is_identified = true") .replace("val is_official = false", "val is_official = " + is_official)) } File.change(dir + getsettings_path, _.replace("ISABELLE_ID=\"\"", "ISABELLE_ID=" + quote(release.ident)) .replace("ISABELLE_IDENTIFIER=\"\"", "ISABELLE_IDENTIFIER=" + quote(release.dist_name))) File.change(dir + Path.explode("lib/html/library_index_header.template"), _.replace("{ISABELLE}", release.dist_name)) for { name <- List( "src/Pure/System/distribution.ML", "src/Pure/System/distribution.scala", "lib/Tools/version") } { File.change(dir + Path.explode(name), _.replace("repository version", release.dist_version)) } File.change(dir + Path.explode("README"), _.replace("some repository version of Isabelle", release.dist_version)) } /* ANNOUNCE */ def make_announce(release: Release) { File.write(release.isabelle_dir + Path.explode("ANNOUNCE"), """ IMPORTANT NOTE ============== This is a snapshot of Isabelle/""" + release.ident + """ from the repository. """) } /* NEWS */ def make_news(other_isabelle: Other_Isabelle, dist_version: String) { val target = other_isabelle.isabelle_home + Path.explode("doc") val target_fonts = Isabelle_System.make_directory(target + Path.explode("fonts")) other_isabelle.copy_fonts(target_fonts) HTML.write_document(target, "NEWS.html", List(HTML.title("NEWS (" + dist_version + ")")), List( HTML.chapter("NEWS"), HTML.source( Symbol.decode(File.read(other_isabelle.isabelle_home + Path.explode("NEWS")))))) } /* bundled components */ class Bundled(platform: Option[Platform.Family.Value] = None) { def detect(s: String): Boolean = s.startsWith("#bundled") && !s.startsWith("#bundled ") def apply(name: String): String = "#bundled" + (platform match { case None => "" case Some(plat) => "-" + plat }) + ":" + name private val Pattern1 = ("""^#bundled:(.*)$""").r private val Pattern2 = ("""^#bundled-(.*):(.*)$""").r def unapply(s: String): Option[String] = s match { case Pattern1(name) => Some(name) case Pattern2(Platform.Family(plat), name) if platform == Some(plat) => Some(name) case _ => None } } def record_bundled_components(dir: Path) { val catalogs = List("main", "bundled").map((_, new Bundled())) ::: default_platform_families.flatMap(platform => List(platform.toString, "bundled-" + platform.toString). map((_, new Bundled(platform = Some(platform))))) File.append(Components.components(dir), terminate_lines("#bundled components" :: (for { (catalog, bundled) <- catalogs.iterator path = Components.admin(dir) + Path.basic(catalog) if path.is_file line <- split_lines(File.read(path)) if line.nonEmpty && !line.startsWith("#") && !line.startsWith("jedit_build") } yield bundled(line)).toList)) } def get_bundled_components(dir: Path, platform: Platform.Family.Value): (List[String], String) = { val Bundled = new Bundled(platform = Some(platform)) val components = for { Bundled(name) <- Components.read_components(dir) if !name.startsWith("jedit_build") } yield name val jdk_component = components.find(_.startsWith("jdk")) getOrElse error("Missing jdk component") (components, jdk_component) } def activate_components(dir: Path, platform: Platform.Family.Value, more_names: List[String]) { def contrib_name(name: String): String = Components.contrib(name = name).implode val Bundled = new Bundled(platform = Some(platform)) Components.write_components(dir, Components.read_components(dir).flatMap(line => line match { case Bundled(name) => if (Components.check_dir(Components.contrib(dir, name))) Some(contrib_name(name)) else None case _ => if (Bundled.detect(line)) None else Some(line) }) ::: more_names.map(contrib_name)) } def make_contrib(dir: Path) { Isabelle_System.make_directory(Components.contrib(dir)) File.write(Components.contrib(dir, "README"), """This directory contains add-on components that contribute to the main Isabelle distribution. Separate licensing conditions apply, see each directory individually. """) } /** build release **/ private def execute(dir: Path, script: String): Unit = Isabelle_System.bash(script, cwd = dir.file).check private def execute_tar(dir: Path, args: String): Unit = Isabelle_System.gnutar(args, dir = dir).check /* build heaps on remote server */ private def remote_build_heaps( options: Options, platform: Platform.Family.Value, build_sessions: List[String], local_dir: Path) { val server_option = "build_host_" + platform.toString options.string(server_option) match { case SSH.Target(user, host) => using(SSH.open_session(options, host = host, user = user))(ssh => { Isabelle_System.with_tmp_file("tmp", "tar")(local_tmp_tar => { execute_tar(local_dir, "-cf " + File.bash_path(local_tmp_tar) + " .") ssh.with_tmp_dir(remote_dir => { val remote_tmp_tar = remote_dir + Path.basic("tmp.tar") ssh.write_file(remote_tmp_tar, local_tmp_tar) val remote_commands = List( "cd " + File.bash_path(remote_dir), "tar -xf tmp.tar", "./bin/isabelle build -o system_heaps -b -- " + Bash.strings(build_sessions), "tar -cf tmp.tar heaps") ssh.execute(remote_commands.mkString(" && ")).check ssh.read_file(remote_tmp_tar, local_tmp_tar) }) execute_tar(local_dir, "-xf " + File.bash_path(local_tmp_tar)) }) }) case s => error("Bad " + server_option + ": " + quote(s)) } } /* Isabelle application */ def make_isabelle_options(path: Path, options: List[String], line_ending: String = "\n") { val title = "# Java runtime options" File.write(path, (title :: options).map(_ + line_ending).mkString) } def make_isabelle_app( path: Path, isabelle_home_prefix: String, jdk_component: String, classpath: List[Path], dock_icon: Boolean = false) { val script = """#!/usr/bin/env bash # # Author: Makarius # # Main Isabelle application script. # minimal Isabelle environment ISABELLE_HOME="$(cd "$(dirname "$0")"; cd "$(pwd -P)/""" + isabelle_home_prefix + """"; pwd)" source "$ISABELLE_HOME/lib/scripts/isabelle-platform" #paranoia settings -- avoid intrusion of alien options unset "_JAVA_OPTIONS" unset "JAVA_TOOL_OPTIONS" #paranoia settings -- avoid problems of Java/Swing versus XIM/IBus etc. unset XMODIFIERS COMPONENT="$ISABELLE_HOME/contrib/""" + jdk_component + """" source "$COMPONENT/etc/settings" # main declare -a JAVA_OPTIONS=($(perl -p -e 's,#.*$,,g;' "$ISABELLE_HOME/Isabelle.options")) +"$ISABELLE_HOME/lib/scripts/java-gui-setup" + exec "$ISABELLE_JDK_HOME/bin/java" \ "-Disabelle.root=$ISABELLE_HOME" "${JAVA_OPTIONS[@]}" \ -classpath """" + classpath.map(p => "$ISABELLE_HOME/" + p.implode).mkString(":") + """" \ "-splash:$ISABELLE_HOME/lib/logo/isabelle.gif" \ """ + (if (dock_icon) """"-Xdock:icon=$ISABELLE_HOME/lib/logo/isabelle_transparent-128.png" \ """ else "") + """isabelle.Main "$@" """ File.write(path, script) File.set_executable(path, true) } def make_isabelle_plist(path: Path, isabelle_name: String, isabelle_rev: String) { File.write(path, """ CFBundleDevelopmentRegion English CFBundleIconFile isabelle.icns CFBundleIdentifier -de.tum.in.isabelle.""" + isabelle_name + """ +de.tum.in.isabelle CFBundleDisplayName """ + isabelle_name + """ CFBundleInfoDictionaryVersion 6.0 CFBundleName """ + isabelle_name + """ CFBundlePackageType APPL CFBundleShortVersionString -""" + isabelle_rev + """ +""" + isabelle_name + """ CFBundleSignature ???? CFBundleVersion -1 +""" + isabelle_rev + """ NSHumanReadableCopyright LSMinimumSystemVersion 10.11 LSApplicationCategoryType public.app-category.developer-tools NSHighResolutionCapable true NSSupportsAutomaticGraphicsSwitching true CFBundleDocumentTypes CFBundleTypeExtensions thy CFBundleTypeIconFile theory.icns CFBundleTypeName Isabelle theory file CFBundleTypeRole Editor LSTypeIsPackage """) } /* main */ private val default_platform_families: List[Platform.Family.Value] = List(Platform.Family.linux, Platform.Family.windows, Platform.Family.macos) def build_release(base_dir: Path, options: Options, components_base: Path = Components.default_components_base, progress: Progress = new Progress, rev: String = "", afp_rev: String = "", official_release: Boolean = false, proper_release_name: Option[String] = None, platform_families: List[Platform.Family.Value] = default_platform_families, more_components: List[Path] = Nil, website: Option[Path] = None, build_sessions: List[String] = Nil, build_library: Boolean = false, parallel_jobs: Int = 1): Release = { val hg = Mercurial.repository(Path.explode("$ISABELLE_HOME")) val release = { val date = Date.now() val dist_name = proper_release_name getOrElse ("Isabelle_" + Date.Format.date(date)) val dist_dir = (base_dir + Path.explode("dist-" + dist_name)).absolute val version = proper_string(rev) orElse proper_release_name getOrElse "tip" val ident = try { hg.id(version) } catch { case ERROR(msg) => cat_error("Bad repository version: " + version, msg) } val dist_version = proper_release_name match { case Some(name) => name + ": " + Date.Format("LLLL uuuu")(date) case None => "Isabelle repository snapshot " + ident + " " + Date.Format.date(date) } new Release(progress, date, dist_name, dist_dir, dist_version, ident) } /* make distribution */ if (release.isabelle_archive.is_file) { progress.echo_warning("Release archive already exists: " + release.isabelle_archive) val archive_ident = Isabelle_System.with_tmp_dir("build_release")(tmp_dir => { val getsettings = Path.explode(release.dist_name) + getsettings_path execute_tar(tmp_dir, "-xzf " + File.bash_path(release.isabelle_archive) + " " + File.bash_path(getsettings)) split_lines(File.read(tmp_dir + getsettings)) .collectFirst({ case ISABELLE_ID(ident) => ident }) .getOrElse(error("Failed to read ISABELLE_ID from " + release.isabelle_archive)) }) if (release.ident != archive_ident) { error("Mismatch of release identification " + release.ident + " vs. archive " + archive_ident) } } else { progress.echo_warning("Producing release archive " + release.isabelle_archive + " ...") Isabelle_System.make_directory(release.dist_dir) if (release.isabelle_dir.is_dir) error("Directory " + release.isabelle_dir + " already exists") progress.echo_warning("Retrieving Mercurial repository version " + release.ident) hg.archive(release.isabelle_dir.expand.implode, rev = release.ident, options = "--type files") for (name <- List(".hg_archival.txt", ".hgtags", ".hgignore", "README_REPOSITORY")) { (release.isabelle_dir + Path.explode(name)).file.delete } progress.echo_warning("Preparing distribution " + quote(release.dist_name)) patch_release(release, proper_release_name.isDefined && official_release) if (proper_release_name.isEmpty) make_announce(release) make_contrib(release.isabelle_dir) execute(release.isabelle_dir, """find . -print | xargs chmod -f u+rw""") record_bundled_components(release.isabelle_dir) /* build tools and documentation */ val other_isabelle = release.other_isabelle(release.dist_dir) other_isabelle.init_settings( other_isabelle.init_components(components_base = components_base, catalogs = List("main"))) other_isabelle.resolve_components(echo = true) try { val export_classpath = "export CLASSPATH=" + Bash.string(other_isabelle.getenv("ISABELLE_CLASSPATH")) + "\n" other_isabelle.bash(export_classpath + "./Admin/build all", echo = true).check other_isabelle.bash(export_classpath + "./bin/isabelle jedit -b", echo = true).check } catch { case ERROR(msg) => cat_error("Failed to build tools:", msg) } try { other_isabelle.bash( "./bin/isabelle build_doc -a -o system_heaps -j " + parallel_jobs, echo = true).check } catch { case ERROR(msg) => cat_error("Failed to build documentation:", msg) } make_news(other_isabelle, release.dist_version) for (name <- List("Admin", "browser_info", "heaps")) { Isabelle_System.rm_tree(other_isabelle.isabelle_home + Path.explode(name)) } other_isabelle.cleanup() progress.echo_warning("Creating distribution archive " + release.isabelle_archive) def execute_dist_name(script: String): Unit = Isabelle_System.bash(script, cwd = release.dist_dir.file, env = Isabelle_System.settings() + ("DIST_NAME" -> release.dist_name)).check execute_dist_name(""" set -e chmod -R a+r "$DIST_NAME" chmod -R u+w "$DIST_NAME" chmod -R g=o "$DIST_NAME" find "$DIST_NAME" -type f "(" -name "*.thy" -o -name "*.ML" -o -name "*.scala" ")" -print | xargs chmod -f u-w """) execute_tar(release.dist_dir, "-czf " + File.bash_path(release.isabelle_archive) + " " + Bash.string(release.dist_name)) execute_dist_name(""" set -e mv "$DIST_NAME" "${DIST_NAME}-old" mkdir "$DIST_NAME" mv "${DIST_NAME}-old/README" "${DIST_NAME}-old/NEWS" "${DIST_NAME}-old/ANNOUNCE" \ "${DIST_NAME}-old/COPYRIGHT" "${DIST_NAME}-old/CONTRIBUTORS" "$DIST_NAME" mkdir "$DIST_NAME/doc" mv "${DIST_NAME}-old/doc/"*.pdf \ "${DIST_NAME}-old/doc/"*.html \ "${DIST_NAME}-old/doc/"*.css \ "${DIST_NAME}-old/doc/fonts" \ "${DIST_NAME}-old/doc/Contents" "$DIST_NAME/doc" rm -f Isabelle && ln -sf "$DIST_NAME" Isabelle rm -rf "${DIST_NAME}-old" """) } /* make application bundles */ val bundle_infos = platform_families.map(release.bundle_info) for (bundle_info <- bundle_infos) { val isabelle_name = release.dist_name val platform = bundle_info.platform progress.echo("\nApplication bundle for " + platform) Isabelle_System.with_tmp_dir("build_release")(tmp_dir => { // release archive execute_tar(tmp_dir, "-xzf " + File.bash_path(release.isabelle_archive)) val other_isabelle = release.other_isabelle(tmp_dir) val isabelle_target = other_isabelle.isabelle_home // bundled components progress.echo("Bundled components:") val contrib_dir = Components.contrib(isabelle_target) val (bundled_components, jdk_component) = get_bundled_components(isabelle_target, platform) Components.resolve(components_base, bundled_components, target_dir = Some(contrib_dir), copy_dir = Some(release.dist_dir + Path.explode("contrib")), progress = progress) val more_components_names = more_components.map(Components.unpack(contrib_dir, _, progress = progress)) Components.purge(contrib_dir, platform) activate_components(isabelle_target, platform, more_components_names) // Java parameters val java_options: List[String] = (for { variable <- List( "ISABELLE_JAVA_SYSTEM_OPTIONS", "JEDIT_JAVA_SYSTEM_OPTIONS", "JEDIT_JAVA_OPTIONS") opt <- Word.explode(other_isabelle.getenv(variable)) } yield { val s = "-Dapple.awt.application.name=" if (opt.startsWith(s)) s + isabelle_name else opt }) ::: List("-Disabelle.jedit_server=" + isabelle_name) val classpath: List[Path] = { val base = isabelle_target.absolute Path.split(other_isabelle.getenv("ISABELLE_CLASSPATH")).map(path => { val abs_path = path.absolute File.relative_path(base, abs_path) match { case Some(rel_path) => rel_path case None => error("Bad ISABELLE_CLASSPATH element: " + abs_path) } }) ::: List(Path.explode("src/Tools/jEdit/dist/jedit.jar")) } val jedit_options = Path.explode("src/Tools/jEdit/etc/options") val jedit_props = Path.explode("src/Tools/jEdit/dist/properties/jEdit.props") // build heaps if (build_sessions.nonEmpty) { progress.echo("Building heaps ...") remote_build_heaps(options, platform, build_sessions, isabelle_target) } // application bundling platform match { case Platform.Family.linux => File.change(isabelle_target + jedit_options, _.replaceAll("jedit_reset_font_size : int =.*", "jedit_reset_font_size : int = 24")) File.change(isabelle_target + jedit_props, _.replaceAll("console.fontsize=.*", "console.fontsize=18") .replaceAll("helpviewer.fontsize=.*", "helpviewer.fontsize=18") .replaceAll("metal.primary.fontsize=.*", "metal.primary.fontsize=18") .replaceAll("metal.secondary.fontsize=.*", "metal.secondary.fontsize=18") .replaceAll("view.fontsize=.*", "view.fontsize=24") .replaceAll("view.gutter.fontsize=.*", "view.gutter.fontsize=16")) make_isabelle_options( isabelle_target + Path.explode("Isabelle.options"), java_options) make_isabelle_app( isabelle_target + Path.explode("lib/scripts/Isabelle_app"), "../..", jdk_component, classpath) val linux_app = isabelle_target + Path.explode("contrib/linux_app") File.move(linux_app + Path.explode("Isabelle"), isabelle_target + Path.explode(isabelle_name)) Isabelle_System.rm_tree(linux_app) val archive_name = isabelle_name + "_linux.tar.gz" progress.echo("Packaging " + archive_name + " ...") execute_tar(tmp_dir, "-czf " + File.bash_path(release.dist_dir + Path.explode(archive_name)) + " " + Bash.string(isabelle_name)) case Platform.Family.macos => File.change(isabelle_target + jedit_props, _.replaceAll("delete-line.shortcut=.*", "delete-line.shortcut=C+d") .replaceAll("delete.shortcut2=.*", "delete.shortcut2=A+d")) // MacOS application bundle val isabelle_app = Path.explode(isabelle_name + ".app") val app_dir = tmp_dir + isabelle_app val app_contents = app_dir + Path.explode("Contents") val app_resources = Isabelle_System.make_directory(app_contents + Path.explode("Resources")) File.move(tmp_dir + Path.explode(isabelle_name), app_resources) val isabelle_home = Path.explode("Contents/Resources/" + isabelle_name) val isabelle_options = Path.explode("Isabelle.options") File.link( isabelle_home, app_dir + Path.explode("Isabelle"), force = true) File.link( isabelle_home + isabelle_options, app_dir + isabelle_options, force = true) for (icon <- List("lib/logo/isabelle.icns", "lib/logo/theory.icns")) { File.copy(app_dir + isabelle_home + Path.explode(icon), app_resources) } make_isabelle_app( app_dir + Path.explode(isabelle_name), isabelle_home.implode, jdk_component, classpath, dock_icon = true) make_isabelle_options( app_dir + isabelle_options, java_options ::: List("-Disabelle.app=true")) make_isabelle_plist( app_contents + Path.explode("Info.plist"), isabelle_name, release.ident) // application archive val archive_name = isabelle_name + "_macos.tar.gz" progress.echo("Packaging " + archive_name + " ...") execute_tar(tmp_dir, "-czf " + File.bash_path(release.dist_dir + Path.explode(archive_name)) + " " + File.bash_path(isabelle_app)) case Platform.Family.windows => File.change(isabelle_target + jedit_props, _.replaceAll("foldPainter=.*", "foldPainter=Square")) // application launcher File.move(isabelle_target + Path.explode("contrib/windows_app"), tmp_dir) val app_template = Path.explode("~~/Admin/Windows/launch4j") make_isabelle_options( isabelle_target + Path.explode(isabelle_name + ".l4j.ini"), java_options, line_ending = "\r\n") val isabelle_xml = Path.explode("isabelle.xml") val isabelle_exe = Path.explode(isabelle_name + ".exe") File.write(tmp_dir + isabelle_xml, File.read(app_template + isabelle_xml) .replace("{ISABELLE_NAME}", isabelle_name) .replace("{OUTFILE}", File.platform_path(isabelle_target + isabelle_exe)) .replace("{ICON}", File.platform_path(app_template + Path.explode("isabelle_transparent.ico"))) .replace("{SPLASH}", File.platform_path(app_template + Path.explode("isabelle.bmp"))) .replace("{CLASSPATH}", cat_lines(classpath.map(cp => " %EXEDIR%\\" + File.platform_path(cp).replace('/', '\\') + ""))) .replace("\\jdk\\", "\\" + jdk_component + "\\")) execute(tmp_dir, "\"windows_app/launch4j-${ISABELLE_PLATFORM_FAMILY}/launch4j\" isabelle.xml") File.copy(app_template + Path.explode("manifest.xml"), isabelle_target + isabelle_exe.ext("manifest")) // Cygwin setup val cygwin_template = Path.explode("~~/Admin/Windows/Cygwin") File.copy(cygwin_template + Path.explode("Cygwin-Terminal.bat"), isabelle_target) val cygwin_mirror = File.read(isabelle_target + Path.explode("contrib/cygwin/isabelle/cygwin_mirror")) val cygwin_bat = Path.explode("Cygwin-Setup.bat") File.write(isabelle_target + cygwin_bat, File.read(cygwin_template + cygwin_bat).replace("{MIRROR}", cygwin_mirror)) File.set_executable(isabelle_target + cygwin_bat, true) for (name <- List("isabelle/postinstall", "isabelle/rebaseall")) { val path = Path.explode(name) File.copy(cygwin_template + path, isabelle_target + Path.explode("contrib/cygwin") + path) } execute(isabelle_target, """find . -type f -not -name "*.exe" -not -name "*.dll" """ + (if (Platform.is_macos) "-perm +100" else "-executable") + " -print0 > contrib/cygwin/isabelle/executables") execute(isabelle_target, """find . -type l -exec echo "{}" ";" -exec readlink "{}" ";" """ + """> contrib/cygwin/isabelle/symlinks""") execute(isabelle_target, """find . -type l -exec rm "{}" ";" """) File.write(isabelle_target + Path.explode("contrib/cygwin/isabelle/uninitialized"), "") // executable archive (self-extracting 7z) val archive_name = isabelle_name + ".7z" val exe_archive = tmp_dir + Path.explode(archive_name) exe_archive.file.delete progress.echo("Packaging " + archive_name + " ...") execute(tmp_dir, "7z -y -bd a " + File.bash_path(exe_archive) + " " + Bash.string(isabelle_name)) if (!exe_archive.is_file) error("Failed to create archive: " + exe_archive) val sfx_exe = tmp_dir + Path.explode("windows_app/7zsd_All_x64.sfx") val sfx_txt = File.read(Path.explode("~~/Admin/Windows/Installer/sfx.txt")) .replace("{ISABELLE_NAME}", isabelle_name) Bytes.write(release.dist_dir + isabelle_exe, Bytes.read(sfx_exe) + Bytes(sfx_txt) + Bytes.read(exe_archive)) File.set_executable(release.dist_dir + isabelle_exe, true) } }) progress.echo("DONE") } /* minimal website */ for (dir <- website) { val website_platform_bundles = for { bundle_info <- bundle_infos if (release.dist_dir + bundle_info.path).is_file } yield (bundle_info.name, bundle_info) val isabelle_link = HTML.link(Isabelle_Cronjob.isabelle_repos_source + "/rev/" + release.ident, HTML.text("Isabelle/" + release.ident)) val afp_link = HTML.link(AFP.repos_source + "/rev/" + afp_rev, HTML.text("AFP/" + afp_rev)) HTML.write_document(dir, "index.html", List(HTML.title(release.dist_name)), List( HTML.section(release.dist_name), HTML.subsection("Platforms"), HTML.itemize( website_platform_bundles.map({ case (bundle, bundle_info) => List(HTML.link(bundle, HTML.text(bundle_info.platform_description))) })), HTML.subsection("Repositories"), HTML.itemize( List(List(isabelle_link)) ::: (if (afp_rev == "") Nil else List(List(afp_link)))))) for ((bundle, _) <- website_platform_bundles) File.copy(release.dist_dir + Path.explode(bundle), dir) } /* HTML library */ if (build_library) { if (release.isabelle_library_archive.is_file) { progress.echo_warning("Library archive already exists: " + release.isabelle_library_archive) } else { Isabelle_System.with_tmp_dir("build_release")(tmp_dir => { val bundle = release.dist_dir + Path.explode(release.dist_name + "_" + Platform.family + ".tar.gz") execute_tar(tmp_dir, "-xzf " + File.bash_path(bundle)) val other_isabelle = release.other_isabelle(tmp_dir) Isabelle_System.make_directory(other_isabelle.etc) File.write(other_isabelle.etc_preferences, "ML_system_64 = true\n") other_isabelle.bash("bin/isabelle build -f -j " + parallel_jobs + " -o browser_info -o document=pdf -o document_variants=document:outline=/proof,/ML" + " -o system_heaps -c -a -d '~~/src/Benchmarks'", echo = true).check other_isabelle.isabelle_home_user.file.delete execute(tmp_dir, "chmod -R a+r " + Bash.string(release.dist_name)) execute(tmp_dir, "chmod -R g=o " + Bash.string(release.dist_name)) execute_tar(tmp_dir, "-czf " + File.bash_path(release.isabelle_library_archive) + " " + Bash.string(release.dist_name + "/browser_info")) }) } } release } /** command line entry point **/ def main(args: Array[String]) { Command_Line.tool { var afp_rev = "" var components_base: Path = Components.default_components_base var official_release = false var proper_release_name: Option[String] = None var website: Option[Path] = None var build_sessions: List[String] = Nil var more_components: List[Path] = Nil var parallel_jobs = 1 var build_library = false var options = Options.init() var platform_families = default_platform_families var rev = "" val getopts = Getopts(""" Usage: Admin/build_release [OPTIONS] BASE_DIR Options are: -A REV corresponding AFP changeset id -C DIR base directory for Isabelle components (default: """ + Components.default_components_base + """) -O official release (not release-candidate) -R RELEASE proper release with name -W WEBSITE produce minimal website in given directory -b SESSIONS build platform-specific session images (separated by commas) -c ARCHIVE clean bundling with additional component .tar.gz archive -j INT maximum number of parallel jobs (default 1) -l build library -o OPTION override Isabelle system OPTION (via NAME=VAL or NAME) -p NAMES platform families (default: """ + default_platform_families.mkString(",") + """) -r REV Mercurial changeset id (default: RELEASE or tip) Build Isabelle release in base directory, using the local repository clone. """, "A:" -> (arg => afp_rev = arg), "C:" -> (arg => components_base = Path.explode(arg)), "O" -> (_ => official_release = true), "R:" -> (arg => proper_release_name = Some(arg)), "W:" -> (arg => website = Some(Path.explode(arg))), "b:" -> (arg => build_sessions = space_explode(',', arg)), "c:" -> (arg => { val path = Path.explode(arg) Components.Archive.get_name(path.file_name) more_components = more_components ::: List(path) }), "j:" -> (arg => parallel_jobs = Value.Int.parse(arg)), "l" -> (_ => build_library = true), "o:" -> (arg => options = options + arg), "p:" -> (arg => platform_families = space_explode(',', arg).map(Platform.Family.parse)), "r:" -> (arg => rev = arg)) val more_args = getopts(args) val base_dir = more_args match { case List(base_dir) => base_dir case _ => getopts.usage() } val progress = new Console_Progress() if (platform_families.contains(Platform.Family.windows) && !Isabelle_System.bash("7z i").ok) error("Building for windows requires 7z") build_release(Path.explode(base_dir), options, components_base = components_base, progress = progress, rev = rev, afp_rev = afp_rev, official_release = official_release, proper_release_name = proper_release_name, website = website, platform_families = if (platform_families.isEmpty) default_platform_families else platform_families, more_components = more_components, build_sessions = build_sessions, build_library = build_library, parallel_jobs = parallel_jobs) } } } diff --git a/src/Pure/Admin/components.scala b/src/Pure/Admin/components.scala --- a/src/Pure/Admin/components.scala +++ b/src/Pure/Admin/components.scala @@ -1,303 +1,352 @@ /* Title: Pure/Admin/components.scala Author: Makarius Isabelle system components. */ package isabelle import java.io.{File => JFile} object Components { /* archive name */ object Archive { val suffix: String = ".tar.gz" def apply(name: String): String = if (name == "") error("Bad component name: " + quote(name)) else name + suffix def unapply(archive: String): Option[String] = { for { name0 <- Library.try_unsuffix(suffix, archive) name <- proper_string(name0) } yield name } def get_name(archive: String): String = unapply(archive) getOrElse error("Bad component archive name (expecting .tar.gz): " + quote(archive)) } /* component collections */ val default_components_base: Path = Path.explode("$ISABELLE_COMPONENTS_BASE") def admin(dir: Path): Path = dir + Path.explode("Admin/components") def contrib(dir: Path = Path.current, name: String = ""): Path = dir + Path.explode("contrib") + Path.explode(name) def unpack(dir: Path, archive: Path, progress: Progress = new Progress): String = { val name = Archive.get_name(archive.file_name) progress.echo("Unpacking " + name) Isabelle_System.gnutar("-xzf " + File.bash_path(archive), dir = dir).check name } def resolve(base_dir: Path, names: List[String], target_dir: Option[Path] = None, copy_dir: Option[Path] = None, progress: Progress = new Progress) { Isabelle_System.make_directory(base_dir) for (name <- names) { val archive_name = Archive(name) val archive = base_dir + Path.explode(archive_name) if (!archive.is_file) { val remote = Isabelle_System.getenv("ISABELLE_COMPONENT_REPOSITORY") + "/" + archive_name progress.echo("Getting " + remote) Bytes.write(archive, Url.read_bytes(Url(remote))) } for (dir <- copy_dir) { Isabelle_System.make_directory(dir) File.copy(archive, dir) } unpack(target_dir getOrElse base_dir, archive, progress = progress) } } def purge(dir: Path, platform: Platform.Family.Value) { def purge_platforms(platforms: String*): Set[String] = platforms.flatMap(name => List("arm64-" + name, "x86-" + name, "x86_64_32-" + name, "x86_64-" + name)).toSet + "ppc-darwin" + "arm64-linux" val purge_set = platform match { case Platform.Family.linux => purge_platforms("darwin", "cygwin", "windows") case Platform.Family.macos => purge_platforms("linux", "cygwin", "windows") case Platform.Family.windows => purge_platforms("linux", "darwin") } File.find_files(dir.file, (file: JFile) => file.isDirectory && purge_set(file.getName), include_dirs = true).foreach(Isabelle_System.rm_tree) } /* component directory content */ def settings(dir: Path = Path.current): Path = dir + Path.explode("etc/settings") def components(dir: Path = Path.current): Path = dir + Path.explode("etc/components") def check_dir(dir: Path): Boolean = settings(dir).is_file || components(dir).is_file def read_components(dir: Path): List[String] = split_lines(File.read(components(dir))).filter(_.nonEmpty) def write_components(dir: Path, lines: List[String]): Unit = File.write(components(dir), terminate_lines(lines)) /* component repository content */ val components_sha1: Path = Path.explode("~~/Admin/components/components.sha1") sealed case class SHA1_Digest(sha1: String, file_name: String) { override def toString: String = sha1 + " " + file_name } def read_components_sha1(lines: List[String] = Nil): List[SHA1_Digest] = (proper_list(lines) getOrElse split_lines(File.read(components_sha1))).flatMap(line => Word.explode(line) match { case Nil => None case List(sha1, name) => Some(SHA1_Digest(sha1, name)) case _ => error("Bad components.sha1 entry: " + quote(line)) }) def write_components_sha1(entries: List[SHA1_Digest]): Unit = File.write(components_sha1, entries.sortBy(_.file_name).mkString("", "\n", "\n")) + /** manage user components **/ + + val components_path = Path.explode("$ISABELLE_HOME_USER/etc/components") + + def read_components(): List[String] = + if (components_path.is_file) Library.trim_split_lines(File.read(components_path)) + else Nil + + def write_components(lines: List[String]): Unit = + { + Isabelle_System.make_directory(components_path.dir) + File.write(components_path, Library.terminate_lines(lines)) + } + + def update_components(add: Boolean, path0: Path, progress: Progress = new Progress): Unit = + { + val path = path0.expand.absolute + if (!(path + Path.explode("etc/settings")).is_file && + !(path + Path.explode("etc/components")).is_file) error("Bad component directory: " + path) + + val lines1 = read_components() + val lines2 = + lines1.filter(line => + line.isEmpty || line.startsWith("#") || !File.eq(Path.explode(line), path)) + val lines3 = if (add) lines2 ::: List(path.implode) else lines2 + + if (lines1 != lines3) write_components(lines3) + + val prefix = if (lines1 == lines3) "Unchanged" else if (add) "Added" else "Removed" + progress.echo(prefix + " component " + path) + } + + + /* main entry point */ + + def main(args: Array[String]): Unit = + { + Command_Line.tool { + for (arg <- args) { + val add = + if (arg.startsWith("+")) true + else if (arg.startsWith("-")) false + else error("Bad argument: " + quote(arg)) + val path = Path.explode(arg.substring(1)) + update_components(add, path, progress = new Console_Progress) + } + } + } + /** build and publish components **/ def build_components( options: Options, components: List[Path], progress: Progress = new Progress, publish: Boolean = false, force: Boolean = false, update_components_sha1: Boolean = false) { val archives: List[Path] = for (path <- components) yield { path.file_name match { case Archive(_) => path case name => if (!path.is_dir) error("Bad component directory: " + path) else if (!check_dir(path)) { error("Malformed component directory: " + path + "\n (requires " + settings() + " or " + Components.components() + ")") } else { val component_path = path.expand val archive_dir = component_path.dir val archive_name = Archive(name) val archive = archive_dir + Path.explode(archive_name) if (archive.is_file && !force) { error("Component archive already exists: " + archive) } progress.echo("Packaging " + archive_name) Isabelle_System.gnutar("-czf " + File.bash_path(archive) + " " + Bash.string(name), dir = archive_dir).check archive } } } if ((publish && archives.nonEmpty) || update_components_sha1) { options.string("isabelle_components_server") match { case SSH.Target(user, host) => using(SSH.open_session(options, host = host, user = user))(ssh => { val components_dir = Path.explode(options.string("isabelle_components_dir")) val contrib_dir = Path.explode(options.string("isabelle_components_contrib_dir")) for (dir <- List(components_dir, contrib_dir) if !ssh.is_dir(dir)) { error("Bad remote directory: " + dir) } if (publish) { for (archive <- archives) { val archive_name = archive.file_name val name = Archive.get_name(archive_name) val remote_component = components_dir + archive.base val remote_contrib = contrib_dir + Path.explode(name) // component archive if (ssh.is_file(remote_component) && !force) { error("Remote component archive already exists: " + remote_component) } progress.echo("Uploading " + archive_name) ssh.write_file(remote_component, archive) // contrib directory val is_standard_component = Isabelle_System.with_tmp_dir("component")(tmp_dir => { Isabelle_System.gnutar("-xzf " + File.bash_path(archive), dir = tmp_dir).check check_dir(tmp_dir + Path.explode(name)) }) if (is_standard_component) { if (ssh.is_dir(remote_contrib)) { if (force) ssh.rm_tree(remote_contrib) else error("Remote component directory already exists: " + remote_contrib) } progress.echo("Unpacking remote " + archive_name) ssh.execute("tar -C " + ssh.bash_path(contrib_dir) + " -xzf " + ssh.bash_path(remote_component)).check } else { progress.echo_warning("No unpacking of non-standard component: " + archive_name) } } } // remote SHA1 digests if (update_components_sha1) { val lines = for { entry <- ssh.read_dir(components_dir) if entry.is_file && entry.name.endsWith(Archive.suffix) } yield { progress.echo("Digesting remote " + entry.name) Library.trim_line( ssh.execute("cd " + ssh.bash_path(components_dir) + "; sha1sum " + Bash.string(entry.name)).check.out) } write_components_sha1(read_components_sha1(lines)) } }) case s => error("Bad isabelle_components_server: " + quote(s)) } } // local SHA1 digests { val new_entries = for (archive <- archives) yield { val file_name = archive.file_name progress.echo("Digesting local " + file_name) val sha1 = SHA1.digest(archive).rep SHA1_Digest(sha1, file_name) } val new_names = new_entries.map(_.file_name).toSet write_components_sha1( new_entries ::: read_components_sha1().filterNot(entry => new_names.contains(entry.file_name))) } } /* Isabelle tool wrapper */ private val relevant_options = List("isabelle_components_server", "isabelle_components_dir", "isabelle_components_contrib_dir") val isabelle_tool = Isabelle_Tool("build_components", "build and publish Isabelle components", Scala_Project.here, args => { var publish = false var update_components_sha1 = false var force = false var options = Options.init() def show_options: String = cat_lines(relevant_options.map(name => options.options(name).print)) val getopts = Getopts(""" Usage: isabelle build_components [OPTIONS] ARCHIVES... DIRS... Options are: -P publish on SSH server (see options below) -f force: overwrite existing component archives and directories -o OPTION override Isabelle system OPTION (via NAME=VAL or NAME) -u update all SHA1 keys in Isabelle repository Admin/components Build and publish Isabelle components as .tar.gz archives on SSH server, depending on system options: """ + Library.prefix_lines(" ", show_options) + "\n", "P" -> (_ => publish = true), "f" -> (_ => force = true), "o:" -> (arg => options = options + arg), "u" -> (_ => update_components_sha1 = true)) val more_args = getopts(args) if (more_args.isEmpty && !update_components_sha1) getopts.usage() val progress = new Console_Progress build_components(options, more_args.map(Path.explode), progress = progress, publish = publish, force = force, update_components_sha1 = update_components_sha1) }) } diff --git a/src/Pure/Admin/isabelle_cronjob.scala b/src/Pure/Admin/isabelle_cronjob.scala --- a/src/Pure/Admin/isabelle_cronjob.scala +++ b/src/Pure/Admin/isabelle_cronjob.scala @@ -1,654 +1,653 @@ /* Title: Pure/Admin/isabelle_cronjob.scala Author: Makarius Main entry point for administrative cronjob at TUM. */ package isabelle import java.nio.file.Files import scala.annotation.tailrec -import scala.collection.mutable object Isabelle_Cronjob { /* global resources: owned by main cronjob */ val backup = "lxbroy10:cronjob" val main_dir: Path = Path.explode("~/cronjob") val main_state_file: Path = main_dir + Path.explode("run/main.state") val current_log: Path = main_dir + Path.explode("run/main.log") // owned by log service val cumulative_log: Path = main_dir + Path.explode("log/main.log") // owned by log service val isabelle_repos_source = "https://isabelle.sketis.net/repos/isabelle" val isabelle_repos: Path = main_dir + Path.explode("isabelle") val afp_repos: Path = main_dir + Path.explode("AFP") val mailman_archives_dir = Path.explode("~/cronjob/Mailman") val build_log_dirs = List(Path.explode("~/log"), Path.explode("~/afp/log"), Path.explode("~/cronjob/log")) /** logger tasks **/ sealed case class Logger_Task(name: String = "", body: Logger => Unit) /* init and exit */ def get_rev(): String = Mercurial.repository(isabelle_repos).id() def get_afp_rev(): String = Mercurial.repository(afp_repos).id() val init: Logger_Task = Logger_Task("init", logger => { Isabelle_Devel.make_index() Mercurial.setup_repository(isabelle_repos_source, isabelle_repos) Mercurial.setup_repository(AFP.repos_source, afp_repos) File.write(logger.log_dir + Build_Log.log_filename("isabelle_identify", logger.start_date), Build_Log.Identify.content(logger.start_date, Some(get_rev()), Some(get_afp_rev()))) Isabelle_System.bash( """rsync -a --include="*/" --include="plain_identify*" --exclude="*" """ + Bash.string(backup + "/log/.") + " " + File.bash_path(main_dir) + "/log/.").check if (!Isabelle_Devel.cronjob_log.is_file) Files.createSymbolicLink(Isabelle_Devel.cronjob_log.file.toPath, current_log.file.toPath) }) val exit: Logger_Task = Logger_Task("exit", logger => { Isabelle_System.bash( "rsync -a " + File.bash_path(main_dir) + "/log/." + " " + Bash.string(backup) + "/log/.") .check }) /* Mailman archives */ val mailman_archives: Logger_Task = Logger_Task("mailman_archives", logger => { Mailman.isabelle_users.download(mailman_archives_dir) Mailman.isabelle_dev.download(mailman_archives_dir) }) /* build release */ val build_release: Logger_Task = Logger_Task("build_release", logger => { Isabelle_Devel.release_snapshot(logger.options, rev = get_rev(), afp_rev = get_afp_rev()) }) /* integrity test of build_history vs. build_history_base */ val build_history_base: Logger_Task = Logger_Task("build_history_base", logger => { using(logger.ssh_context.open_session("lxbroy10"))(ssh => { val results = Build_History.remote_build_history(ssh, isabelle_repos, isabelle_repos.ext("build_history_base"), isabelle_identifier = "cronjob_build_history", self_update = true, rev = "build_history_base", options = "-f", args = "HOL") for ((log_name, bytes) <- results) { Bytes.write(logger.log_dir + Path.explode(log_name), bytes) } }) }) /* remote build_history */ sealed case class Item( known: Boolean, isabelle_version: String, afp_version: Option[String], pull_date: Date) { def unknown: Boolean = !known def versions: (String, Option[String]) = (isabelle_version, afp_version) def known_versions(rev: String, afp_rev: Option[String]): Boolean = known && rev != "" && isabelle_version == rev && (afp_rev.isEmpty || afp_rev.get != "" && afp_version == afp_rev) } def recent_items(db: SQL.Database, days: Int, rev: String, afp_rev: Option[String], sql: SQL.Source): List[Item] = { val afp = afp_rev.isDefined val select = Build_Log.Data.select_recent_versions( days = days, rev = rev, afp_rev = afp_rev, sql = "WHERE " + sql) db.using_statement(select)(stmt => stmt.execute_query().iterator(res => { val known = res.bool(Build_Log.Data.known) val isabelle_version = res.string(Build_Log.Prop.isabelle_version) val afp_version = if (afp) proper_string(res.string(Build_Log.Prop.afp_version)) else None val pull_date = res.date(Build_Log.Data.pull_date(afp)) Item(known, isabelle_version, afp_version, pull_date) }).toList) } def unknown_runs(items: List[Item]): List[List[Item]] = { val (run, rest) = Library.take_prefix[Item](_.unknown, items.dropWhile(_.known)) if (run.nonEmpty) run :: unknown_runs(rest) else Nil } sealed case class Remote_Build( description: String, host: String, actual_host: String = "", user: String = "", port: Int = 0, proxy_host: String = "", proxy_user: String = "", proxy_port: Int = 0, self_update: Boolean = false, historic: Boolean = false, history: Int = 0, history_base: String = "build_history_base", java_heap: String = "", options: String = "", args: String = "", afp: Boolean = false, bulky: Boolean = false, more_hosts: List[String] = Nil, detect: SQL.Source = "", active: Boolean = true) { def ssh_session(context: SSH.Context): SSH.Session = context.open_session(host = host, user = user, port = port, actual_host = actual_host, proxy_host = proxy_host, proxy_user = proxy_user, proxy_port = proxy_port, permissive = proxy_host.nonEmpty) def sql: SQL.Source = Build_Log.Prop.build_engine + " = " + SQL.string(Build_History.engine) + " AND " + SQL.member(Build_Log.Prop.build_host.ident, host :: more_hosts) + (if (detect == "") "" else " AND " + SQL.enclose(detect)) def profile: Build_Status.Profile = Build_Status.Profile(description, history = history, afp = afp, bulky = bulky, sql = sql) def pick( options: Options, rev: String = "", filter: Item => Boolean = _ => true): Option[(String, Option[String])] = { val afp_rev = if (afp) Some(get_afp_rev()) else None val store = Build_Log.store(options) using(store.open_database())(db => { def pick_days(days: Int, gap: Int): Option[(String, Option[String])] = { val items = recent_items(db, days, rev, afp_rev, sql).filter(filter) def runs = unknown_runs(items).filter(run => run.length >= gap) if (historic || items.exists(_.known_versions(rev, afp_rev))) { val longest_run = (List.empty[Item] /: runs)({ case (item1, item2) => if (item1.length >= item2.length) item1 else item2 }) if (longest_run.isEmpty) None else Some(longest_run(longest_run.length / 2).versions) } else if (rev != "") Some((rev, afp_rev)) else runs.flatten.headOption.map(_.versions) } pick_days(options.int("build_log_history") max history, 2) orElse pick_days(200, 5) orElse pick_days(2000, 1) }) } } val remote_builds_old: List[Remote_Build] = List( Remote_Build("Linux A", "lxbroy9", java_heap = "2g", options = "-m32 -B -M1x2,2", args = "-N -g timing"), Remote_Build("Linux Benchmarks", "lxbroy5", historic = true, history = 90, java_heap = "2g", options = "-m32 -B -M1x2,2 -t Benchmarks" + " -e ISABELLE_GHC=ghc -e ISABELLE_MLTON=mlton -e ISABELLE_OCAML=ocaml" + " -e ISABELLE_OCAMLC=ocamlc -e ISABELLE_OCAMLFIND=ocamlfind -e ISABELLE_SMLNJ=sml" + " -e ISABELLE_SWIPL=swipl", args = "-N -a -d '~~/src/Benchmarks'", detect = Build_Log.Prop.build_tags + " = " + SQL.string("Benchmarks")), Remote_Build("macOS 10.14 Mojave (Old)", "lapnipkow3", options = "-m32 -M1,2 -e ISABELLE_GHC_SETUP=true -p pide_session=false", self_update = true, args = "-a -d '~~/src/Benchmarks'"), Remote_Build("AFP old bulky", "lrzcloud1", self_update = true, proxy_host = "lxbroy10", proxy_user = "i21isatest", options = "-m64 -M6 -U30000 -s10 -t AFP", args = "-g large -g slow", afp = true, bulky = true, detect = Build_Log.Prop.build_tags + " = " + SQL.string("AFP")), Remote_Build("AFP old", "lxbroy7", args = "-N -X large -X slow", afp = true, detect = Build_Log.Prop.build_tags + " = " + SQL.string("AFP")), Remote_Build("Poly/ML 5.7 Linux", "lxbroy8", history_base = "37074e22e8be", options = "-m32 -B -M1x2,2 -t polyml-5.7 -i 'init_component /home/isabelle/contrib/polyml-5.7'", args = "-N -g timing", detect = Build_Log.Prop.build_tags + " = " + SQL.string("polyml-5.7") + " AND " + Build_Log.Settings.ML_OPTIONS + " <> " + SQL.string("-H 500")), Remote_Build("Poly/ML 5.7.1 Linux", "lxbroy8", history_base = "a9d5b59c3e12", options = "-m32 -B -M1x2,2 -t polyml-5.7.1-pre2 -i 'init_component /home/isabelle/contrib/polyml-test-905dae2ebfda'", args = "-N -g timing", detect = Build_Log.Prop.build_tags + " = " + SQL.string("polyml-5.7.1-pre1") + " OR " + Build_Log.Prop.build_tags + " = " + SQL.string("polyml-5.7.1-pre2")), Remote_Build("Poly/ML 5.7 macOS", "macbroy2", history_base = "37074e22e8be", options = "-m32 -B -M1x4,4 -t polyml-5.7 -i 'init_component /home/isabelle/contrib/polyml-5.7'", args = "-a", detect = Build_Log.Prop.build_tags + " = " + SQL.string("polyml-5.7")), Remote_Build("Poly/ML 5.7.1 macOS", "macbroy2", history_base = "a9d5b59c3e12", options = "-m32 -B -M1x4,4 -t polyml-5.7.1-pre2 -i 'init_component /home/isabelle/contrib/polyml-test-905dae2ebfda'", args = "-a", detect = Build_Log.Prop.build_tags + " = " + SQL.string("polyml-5.7.1-pre1") + " OR " + Build_Log.Prop.build_tags + " = " + SQL.string("polyml-5.7.1-pre2")), Remote_Build("macOS", "macbroy2", options = "-m32 -M8" + " -e ISABELLE_GHC=ghc -e ISABELLE_MLTON=mlton -e ISABELLE_OCAML=ocaml" + " -e ISABELLE_OCAMLC=ocamlc -e ISABELLE_OCAML_SETUP=true" + " -e ISABELLE_OPAM_ROOT=\"$ISABELLE_HOME/opam\"" + " -e ISABELLE_SMLNJ=/home/isabelle/smlnj/110.85/bin/sml" + " -p pide_session=false", args = "-a", detect = Build_Log.Prop.build_tags.undefined, history_base = "2c0f24e927dd"), Remote_Build("macOS, quick_and_dirty", "macbroy2", options = "-m32 -M8 -t quick_and_dirty -p pide_session=false", args = "-a -o quick_and_dirty", detect = Build_Log.Prop.build_tags + " = " + SQL.string("quick_and_dirty"), history_base = "2c0f24e927dd"), Remote_Build("macOS, skip_proofs", "macbroy2", options = "-m32 -M8 -t skip_proofs -p pide_session=false", args = "-a -o skip_proofs", detect = Build_Log.Prop.build_tags + " = " + SQL.string("skip_proofs"), history_base = "2c0f24e927dd"), Remote_Build("Poly/ML test", "lxbroy8", options = "-m32 -B -M1x2,2 -t polyml-test -i 'init_component /home/isabelle/contrib/polyml-5.7-20170217'", args = "-N -g timing", detect = Build_Log.Prop.build_tags + " = " + SQL.string("polyml-test")), Remote_Build("macOS 10.12 Sierra", "macbroy30", options = "-m32 -M2 -p pide_session=false", args = "-a", detect = Build_Log.Prop.build_start + " > date '2017-03-03'"), Remote_Build("macOS 10.10 Yosemite", "macbroy31", options = "-m32 -M2 -p pide_session=false", args = "-a"), Remote_Build("macOS 10.8 Mountain Lion", "macbroy30", options = "-m32 -M2", args = "-a", detect = Build_Log.Prop.build_start + " < date '2017-03-03'")) ::: { for { (n, hosts) <- List(1 -> List("lxbroy6"), 2 -> List("lxbroy8", "lxbroy5")) } yield { Remote_Build("AFP old", host = hosts.head, more_hosts = hosts.tail, options = "-m32 -M1x2 -t AFP -P" + n + " -e ISABELLE_GHC=ghc" + " -e ISABELLE_MLTON=mlton" + " -e ISABELLE_OCAML=ocaml -e ISABELLE_OCAMLC=ocamlc -e ISABELLE_OCAMLFIND=ocamlfind" + " -e ISABELLE_SMLNJ=sml", args = "-N -X large -X slow", afp = true, detect = Build_Log.Prop.build_tags + " = " + SQL.string("AFP")) } } val remote_builds1: List[List[Remote_Build]] = { List( List(Remote_Build("Linux B", "lxbroy10", historic = true, history = 90, options = "-m32 -B -M1x4,2,4,6", args = "-N -g timing")), List(Remote_Build("macOS 10.13 High Sierra", "lapbroy68", options = "-m32 -B -M1,2,4 -e ISABELLE_GHC_SETUP=true -p pide_session=false", self_update = true, args = "-a -d '~~/src/Benchmarks'")), List( Remote_Build("macOS 11.1 Big Sur", "mini1", options = "-m32 -B -M1x2,2,4 -p pide_session=false" + " -e ISABELLE_OCAML=ocaml -e ISABELLE_OCAMLC=ocamlc -e ISABELLE_OCAML_SETUP=true" + " -e ISABELLE_GHC_SETUP=true" + " -e ISABELLE_MLTON=/usr/local/bin/mlton" + " -e ISABELLE_SMLNJ=/usr/local/smlnj/bin/sml" + " -e ISABELLE_SWIPL=/usr/local/bin/swipl", self_update = true, args = "-a -d '~~/src/Benchmarks'"), Remote_Build("macOS 10.14 Mojave", "mini2", options = "-m32 -B -M1x2,2,4 -p pide_session=false" + " -e ISABELLE_OCAML=ocaml -e ISABELLE_OCAMLC=ocamlc -e ISABELLE_OCAML_SETUP=true" + " -e ISABELLE_GHC_SETUP=true" + " -e ISABELLE_MLTON=/usr/local/bin/mlton" + " -e ISABELLE_SMLNJ=/usr/local/smlnj/bin/sml" + " -e ISABELLE_SWIPL=/usr/local/bin/swipl", self_update = true, args = "-a -d '~~/src/Benchmarks'"), Remote_Build("macOS, quick_and_dirty", "mini2", options = "-m32 -M4 -t quick_and_dirty -p pide_session=false", self_update = true, args = "-a -o quick_and_dirty", detect = Build_Log.Prop.build_tags + " = " + SQL.string("quick_and_dirty")), Remote_Build("macOS, skip_proofs", "mini2", options = "-m32 -M4 -t skip_proofs -p pide_session=false", args = "-a -o skip_proofs", detect = Build_Log.Prop.build_tags + " = " + SQL.string("skip_proofs"))), List(Remote_Build("macOS 10.15 Catalina", "laramac01", user = "makarius", proxy_host = "laraserver", proxy_user = "makarius", self_update = true, options = "-m32 -M4 -e ISABELLE_GHC_SETUP=true -p pide_session=false", args = "-a -d '~~/src/Benchmarks'")), List( Remote_Build("Windows", "vmnipkow9", historic = true, history = 90, self_update = true, options = "-m32 -M4" + " -C /cygdrive/d/isatest/contrib" + " -e ISABELLE_OCAML=ocaml -e ISABELLE_OCAMLC=ocamlc -e ISABELLE_OCAML_SETUP=true" + " -e ISABELLE_GHC_SETUP=true" + " -e ISABELLE_SMLNJ=/usr/local/smlnj-110.81/bin/sml", args = "-a", detect = Build_Log.Settings.ML_PLATFORM + " = " + SQL.string("x86-windows") + " OR " + Build_Log.Settings.ML_PLATFORM + " = " + SQL.string("x86_64_32-windows")), Remote_Build("Windows", "vmnipkow9", historic = true, history = 90, self_update = true, options = "-m64 -M4" + " -C /cygdrive/d/isatest/contrib" + " -e ISABELLE_OCAML=ocaml -e ISABELLE_OCAMLC=ocamlc -e ISABELLE_OCAML_SETUP=true" + " -e ISABELLE_GHC_SETUP=true" + " -e ISABELLE_SMLNJ=/usr/local/smlnj-110.81/bin/sml", args = "-a", detect = Build_Log.Settings.ML_PLATFORM + " = " + SQL.string("x86_64-windows")))) } val remote_builds2: List[List[Remote_Build]] = List( List( Remote_Build("AFP", "lrzcloud2", actual_host = "10.195.4.41", self_update = true, proxy_host = "lxbroy10", proxy_user = "i21isatest", java_heap = "8g", options = "-m32 -M1x6 -t AFP" + " -e ISABELLE_GHC=ghc" + " -e ISABELLE_MLTON=mlton" + " -e ISABELLE_OCAML=ocaml -e ISABELLE_OCAMLC=ocamlc -e ISABELLE_OCAMLFIND=ocamlfind" + " -e ISABELLE_SMLNJ=sml", args = "-a -X large -X slow", afp = true, detect = Build_Log.Prop.build_tags + " = " + SQL.string("AFP")), Remote_Build("AFP", "lrzcloud2", actual_host = "10.195.4.41", self_update = true, proxy_host = "lxbroy10", proxy_user = "i21isatest", java_heap = "8g", options = "-m64 -M8 -U30000 -s10 -t AFP", args = "-g large -g slow", afp = true, bulky = true, detect = Build_Log.Prop.build_tags + " = " + SQL.string("AFP")))) def remote_build_history(rev: String, afp_rev: Option[String], i: Int, r: Remote_Build) : Logger_Task = { val task_name = "build_history-" + r.host Logger_Task(task_name, logger => { using(r.ssh_session(logger.ssh_context))(ssh => { val results = Build_History.remote_build_history(ssh, isabelle_repos, isabelle_repos.ext(r.host), isabelle_identifier = "cronjob_build_history", self_update = r.self_update, rev = rev, afp_rev = afp_rev, options = " -N " + Bash.string(task_name) + (if (i < 0) "" else "_" + (i + 1).toString) + " -f -h " + Bash.string(r.host) + " " + (r.java_heap match { case "" => "" case h => "-e 'ISABELLE_TOOL_JAVA_OPTIONS=\"$ISABELLE_TOOL_JAVA_OPTIONS -Xmx" + h + "\"' " }) + r.options, args = "-o timeout=10800 " + r.args) for ((log_name, bytes) <- results) { logger.log(Date.now(), log_name) Bytes.write(logger.log_dir + Path.explode(log_name), bytes) } }) }) } val build_status_profiles: List[Build_Status.Profile] = (remote_builds_old :: remote_builds1 ::: remote_builds2).flatten.map(_.profile) /** task logging **/ object Log_Service { def apply(options: Options, progress: Progress = new Progress): Log_Service = new Log_Service(SSH.init_context(options), progress) } class Log_Service private(val ssh_context: SSH.Context, progress: Progress) { current_log.file.delete private val thread: Consumer_Thread[String] = Consumer_Thread.fork("cronjob: logger", daemon = true)( consume = (text: String) => { // critical File.append(current_log, text + "\n") File.append(cumulative_log, text + "\n") progress.echo(text) true }) def shutdown() { thread.shutdown() } val hostname: String = Isabelle_System.hostname() def log(date: Date, task_name: String, msg: String): Unit = if (task_name != "") thread.send( "[" + Build_Log.print_date(date) + ", " + hostname + ", " + task_name + "]: " + msg) def start_logger(start_date: Date, task_name: String): Logger = new Logger(this, start_date, task_name) def run_task(start_date: Date, task: Logger_Task) { val logger = start_logger(start_date, task.name) val res = Exn.capture { task.body(logger) } val end_date = Date.now() val err = res match { case Exn.Res(_) => None case Exn.Exn(exn) => Output.writeln("Exception trace for " + quote(task.name) + ":") exn.printStackTrace() val first_line = split_lines(Exn.message(exn)).headOption getOrElse "exception" Some(first_line) } logger.log_end(end_date, err) } def fork_task(start_date: Date, task: Logger_Task): Task = new Task(task.name, run_task(start_date, task)) } class Logger private[Isabelle_Cronjob]( val log_service: Log_Service, val start_date: Date, val task_name: String) { def ssh_context: SSH.Context = log_service.ssh_context def options: Options = ssh_context.options def log(date: Date, msg: String): Unit = log_service.log(date, task_name, msg) def log_end(end_date: Date, err: Option[String]) { val elapsed_time = end_date.time - start_date.time val msg = (if (err.isEmpty) "finished" else "ERROR " + err.get) + (if (elapsed_time.seconds < 3.0) "" else " (" + elapsed_time.message_hms + " elapsed time)") log(end_date, msg) } val log_dir = Isabelle_System.make_directory(main_dir + Build_Log.log_subdir(start_date)) log(start_date, "started") } class Task private[Isabelle_Cronjob](name: String, body: => Unit) { private val future: Future[Unit] = Future.thread("cronjob: " + name) { body } def is_finished: Boolean = future.is_finished } /** cronjob **/ def cronjob(progress: Progress, exclude_task: Set[String]) { /* soft lock */ val still_running = try { Some(File.read(main_state_file)) } catch { case ERROR(_) => None } still_running match { case None | Some("") => case Some(running) => error("Isabelle cronjob appears to be still running: " + running) } /* log service */ val log_service = Log_Service(Options.init(), progress = progress) def run(start_date: Date, task: Logger_Task) { log_service.run_task(start_date, task) } def run_now(task: Logger_Task) { run(Date.now(), task) } /* structured tasks */ def SEQ(tasks: List[Logger_Task]): Logger_Task = Logger_Task(body = _ => for (task <- tasks.iterator if !exclude_task(task.name) || task.name == "") run_now(task)) def PAR(tasks: List[Logger_Task]): Logger_Task = Logger_Task(body = _ => { @tailrec def join(running: List[Task]) { running.partition(_.is_finished) match { case (Nil, Nil) => case (Nil, _ :: _) => Time.seconds(0.5).sleep; join(running) case (_ :: _, remaining) => join(remaining) } } val start_date = Date.now() val running = for (task <- tasks if !exclude_task(task.name)) yield log_service.fork_task(start_date, task) join(running) }) /* repository structure */ val hg = Mercurial.repository(isabelle_repos) val hg_graph = hg.graph() def history_base_filter(r: Remote_Build): Item => Boolean = { val base_rev = hg.id(r.history_base) val nodes = hg_graph.all_succs(List(base_rev)).toSet (item: Item) => nodes(item.isabelle_version) } /* main */ val main_start_date = Date.now() File.write(main_state_file, main_start_date + " " + log_service.hostname) run(main_start_date, Logger_Task("isabelle_cronjob", logger => run_now( SEQ(List( init, PAR(List(mailman_archives, SEQ(List(build_history_base, build_release)))), PAR( List(remote_builds1, remote_builds2).map(remote_builds => SEQ(List( PAR(remote_builds.map(_.filter(_.active)).map(seq => SEQ( for { (r, i) <- (if (seq.length <= 1) seq.map((_, -1)) else seq.zipWithIndex) (rev, afp_rev) <- r.pick(logger.options, hg.id(), history_base_filter(r)) } yield remote_build_history(rev, afp_rev, i, r)))), Logger_Task("jenkins_logs", _ => Jenkins.download_logs(logger.options, Jenkins.build_log_jobs, main_dir)), Logger_Task("build_log_database", logger => Isabelle_Devel.build_log_database(logger.options, build_log_dirs)), Logger_Task("build_status", logger => Isabelle_Devel.build_status(logger.options)))))), exit))))) log_service.shutdown() main_state_file.file.delete } /** command line entry point **/ def main(args: Array[String]) { Command_Line.tool { var force = false var verbose = false var exclude_task = Set.empty[String] val getopts = Getopts(""" Usage: Admin/cronjob/main [OPTIONS] Options are: -f apply force to do anything -v verbose -x NAME exclude tasks with this name """, "f" -> (_ => force = true), "v" -> (_ => verbose = true), "x:" -> (arg => exclude_task += arg)) val more_args = getopts(args) if (more_args.nonEmpty) getopts.usage() val progress = if (verbose) new Console_Progress() else new Progress if (force) cronjob(progress, exclude_task) else error("Need to apply force to do anything") } } } diff --git a/src/Pure/General/symbol.ML b/src/Pure/General/symbol.ML --- a/src/Pure/General/symbol.ML +++ b/src/Pure/General/symbol.ML @@ -1,517 +1,519 @@ (* Title: Pure/General/symbol.ML Author: Makarius Isabelle text symbols. *) signature SYMBOL = sig type symbol = string val explode: string -> symbol list val spaces: int -> string val STX: symbol val DEL: symbol val open_: symbol val close: symbol val space: symbol val is_space: symbol -> bool val comment: symbol val cancel: symbol val latex: symbol val marker: symbol val is_char: symbol -> bool val is_utf8: symbol -> bool val is_symbolic: symbol -> bool val is_symbolic_char: symbol -> bool val is_printable: symbol -> bool val control_prefix: string val control_suffix: string val is_control: symbol -> bool val eof: symbol val is_eof: symbol -> bool val not_eof: symbol -> bool val stopper: symbol Scan.stopper val is_malformed: symbol -> bool val malformed_msg: symbol -> string val is_ascii: symbol -> bool val is_ascii_letter: symbol -> bool val is_ascii_digit: symbol -> bool val is_ascii_hex: symbol -> bool val is_ascii_quasi: symbol -> bool val is_ascii_blank: symbol -> bool val is_ascii_line_terminator: symbol -> bool val is_ascii_control: symbol -> bool val is_ascii_letdig: symbol -> bool val is_ascii_lower: symbol -> bool val is_ascii_upper: symbol -> bool val to_ascii_lower: symbol -> symbol val to_ascii_upper: symbol -> symbol val is_ascii_identifier: string -> bool val scan_ascii_id: string list -> string * string list datatype sym = Char of string | UTF8 of string | Sym of string | Control of string | Malformed of string | EOF val decode: symbol -> sym val encode: sym -> symbol datatype kind = Letter | Digit | Quasi | Blank | Other val kind: symbol -> kind val is_letter: symbol -> bool val is_digit: symbol -> bool val is_quasi: symbol -> bool val is_blank: symbol -> bool val is_block_ctrl: symbol -> bool + val has_block_ctrl: symbol list -> bool val is_quasi_letter: symbol -> bool val is_letdig: symbol -> bool val beginning: int -> symbol list -> string val esc: symbol -> string val escape: string -> string val scanner: string -> (string list -> 'a * string list) -> symbol list -> 'a val split_words: symbol list -> string list val explode_words: string -> string list val trim_blanks: string -> string val bump_init: string -> string val bump_string: string -> string val sub: symbol val sup: symbol val bold: symbol val make_sub: string -> string val make_sup: string -> string val make_bold: string -> string val length: symbol list -> int val output: string -> Output.output * int end; structure Symbol: SYMBOL = struct (** type symbol **) (*Symbols, which are considered the smallest entities of any Isabelle string, may be of the following form: (1) ASCII: a (2) UTF-8: ä (2) regular symbols: \ (3) control symbols: \<^ident> Output is subject to the print_mode variable (default: verbatim), actual interpretation in display is up to front-end tools. *) type symbol = string; val STX = chr 2; val DEL = chr 127; val open_ = "\"; val close = "\"; val space = chr 32; fun is_space s = s = space; local val small_spaces = Vector.tabulate (65, fn i => replicate_string i space); in fun spaces n = if n < 64 then Vector.sub (small_spaces, n) else replicate_string (n div 64) (Vector.sub (small_spaces, 64)) ^ Vector.sub (small_spaces, n mod 64); end; val comment = "\"; val cancel = "\<^cancel>"; val latex = "\<^latex>"; val marker = "\<^marker>"; fun is_char s = size s = 1; fun is_utf8 s = size s > 0 andalso forall_string (fn c => ord c >= 128) s; fun raw_symbolic s = String.isPrefix "\092<" s andalso String.isSuffix ">" s andalso not (String.isPrefix "\092<^" s); fun is_symbolic s = s <> open_ andalso s <> close andalso raw_symbolic s; val is_symbolic_char = member (op =) (raw_explode "!#$%&*+-/<=>?@^_|~"); fun is_printable s = if is_char s then 32 <= ord s andalso ord s <= Char.ord #"~" else is_utf8 s orelse raw_symbolic s; val control_prefix = "\092<^"; val control_suffix = ">"; fun is_control s = String.isPrefix control_prefix s andalso String.isSuffix control_suffix s; (* input source control *) val eof = ""; fun is_eof s = s = eof; fun not_eof s = s <> eof; val stopper = Scan.stopper (K eof) is_eof; fun is_malformed s = String.isPrefix "\092<" s andalso not (String.isSuffix ">" s) orelse s = "\092<>" orelse s = "\092<^>"; fun malformed_msg s = "Malformed symbolic character: " ^ quote s; (* ASCII symbols *) fun is_ascii s = is_char s andalso ord s < 128; fun is_ascii_letter s = is_char s andalso (Char.ord #"A" <= ord s andalso ord s <= Char.ord #"Z" orelse Char.ord #"a" <= ord s andalso ord s <= Char.ord #"z"); fun is_ascii_digit s = is_char s andalso Char.ord #"0" <= ord s andalso ord s <= Char.ord #"9"; fun is_ascii_hex s = is_char s andalso (Char.ord #"0" <= ord s andalso ord s <= Char.ord #"9" orelse Char.ord #"A" <= ord s andalso ord s <= Char.ord #"F" orelse Char.ord #"a" <= ord s andalso ord s <= Char.ord #"f"); fun is_ascii_quasi "_" = true | is_ascii_quasi "'" = true | is_ascii_quasi _ = false; val is_ascii_blank = fn " " => true | "\t" => true | "\n" => true | "\^K" => true | "\f" => true | "\^M" => true | _ => false; val is_ascii_line_terminator = fn "\r" => true | "\n" => true | _ => false; fun is_ascii_control s = is_char s andalso ord s < 32 andalso not (is_ascii_blank s); fun is_ascii_letdig s = is_ascii_letter s orelse is_ascii_digit s orelse is_ascii_quasi s; fun is_ascii_lower s = is_char s andalso (Char.ord #"a" <= ord s andalso ord s <= Char.ord #"z"); fun is_ascii_upper s = is_char s andalso (Char.ord #"A" <= ord s andalso ord s <= Char.ord #"Z"); fun to_ascii_lower s = if is_ascii_upper s then chr (ord s + Char.ord #"a" - Char.ord #"A") else s; fun to_ascii_upper s = if is_ascii_lower s then chr (ord s + Char.ord #"A" - Char.ord #"a") else s; fun is_ascii_identifier s = size s > 0 andalso is_ascii_letter (String.substring (s, 0, 1)) andalso forall_string is_ascii_letdig s; val scan_ascii_id = Scan.one is_ascii_letter ^^ (Scan.many is_ascii_letdig >> implode); (* diagnostics *) fun beginning n cs = let val drop_blanks = drop_suffix is_ascii_blank; val all_cs = drop_blanks cs; val dots = if length all_cs > n then " ..." else ""; in (drop_blanks (take n all_cs) |> map (fn c => if is_ascii_blank c then space else c) |> implode) ^ dots end; (* symbol variants *) datatype sym = Char of string | UTF8 of string | Sym of string | Control of string | Malformed of string | EOF; fun decode s = if s = "" then EOF else if is_char s then Char s else if is_utf8 s then UTF8 s else if is_malformed s then Malformed s else if is_control s then Control (String.substring (s, 3, size s - 4)) else Sym (String.substring (s, 2, size s - 3)); fun encode (Char s) = s | encode (UTF8 s) = s | encode (Sym s) = "\092<" ^ s ^ ">" | encode (Control s) = "\092<^" ^ s ^ ">" | encode (Malformed s) = s | encode EOF = ""; (* standard symbol kinds *) local val letter_symbols = Symtab.make_set [ "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\

    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ʞxWFCaJ}Z#E?SNS`@Qd;ky&~g#sB2qD+<8UC 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 KVC0nAvaRF^QV@Bv zK?_>tFVCv2p@R2pNt*3Ewx{G(5UiNQBhj*P-&~jW$}lN8GDq_K)@K@-Q1oi-R)@A8=HI_!H;z=UFJ8 z``ymTmVJn^W}hBgNcIhn8I1=r>zCS}Bsl<+Zg{o%wAO+A%I4mqM{^W4yP@X2u^J9H z(gPTky&(w(v!06GintDg-F2THI3|baXcu0w)q#(hPjyA|fwg zHD1B}u9ZG9u;pIcKTeoRpugTS7;R~-sP2RJ69+@X2es4u$bPiHxd28IHaA2kos&DQ z%u?!?RWez2J8{GYmiv>yBGYQ*jowF$R*+1^>VUbnK)^V{fOzr{7k9CST}tynF&YR3 ztVZrxAzz*b-i&9_O9Wb4`^Z%(;jvJLkVmFmLLWle_J@80o_yHDon{PqJT^H~(}%si z<14inJ~)yQqvEQnv9^s$8L3}%d9o-2gr6>c!%?ksqP@D@MWdmowfa1OOQ&G+?fvz^ z1tMp%+Ljz1(3;|Z>D`b(E3({c4>X2~zm60kn%O&9DF*!{MV;w~q(!-EA`9u9pX;Tk zpPPR%b_6Zb=yO{8{Fw+vDML`P!c=N{S1Qbun6-a!N6I0IzHBu558h<9GKOqSe=nS` z8#447M@1YQ{Fp{o_j6esi8}FnI(N^;v(zkLhp2V{D0Fn}uwy0s3GCPWti zrWi=$i$0$9iT?26ek}y7DeS!Xjl*qC1s$JJ5}37>wD7~w@bHD5#$C&{*EgnJAtHDT zs&7FVBJ@y6UB9f+&8LdueI5@?6ke0)> zscI2}#{4htBor;N<>dv|W6VEzvW&ca4|=H#eYWr1#c3h<5gD!gT?;EYTKU0U?5&=h z=%_BsO0_zfXPBMFz(7_x!WlKZ#aiRvne-(vb#_PW1TG_1*({4Nuie-jq`VGvFaKcl zp$gbG$loY@1Vnl$^f6YJk4}+0NS2O)AK&7SSl)DZ%JmB_dsX)|d(|`%M1Tj6W&y_w z3OHx_9>{{Hv4EINB;?M_qF1Bf7wG|4jH6QwjfgM9?IQ>jC+eIlVf#m$e8XQY zpbA;FPV?fJ#1A`WJhT>;dZC3;giI@)2~33{AB4#ER;a=?ljdp!ZWu|^9!2Zq2rtO z#WN_RaMJdavheZPxKTFyczpEOZExEDhG#Qg+8#sQGtux0wbH5;4TzVb&qJ{Ni1-{H z0x{ESdx~wcZr@h3BsJ@!tKZqWD&T`88r@5t06}GQ+;L@X82)ndt87sf7Rk@$N=V|5 zdc-Y&ihlYWjngfU*Ug@-RW_uMc_HZUpH~jsR`7NvvFJOoXux)GE8Y58Va7iAhGgHk z2la`1-F+eVt(Cka%e^Vv>s2`}>k+QocV2yiHKJq)io7-<+JXnX-fe+F(ghffO}j!L zSJ}hT2#tI*#!Axm=R>ZkSy{KUmjDvrbvPU|kb zKI_bZd8p3bI&NTCX#{ zL6yaJTI;3yiaP%VE$H4C4g(G zHP>^|>T8O5QFO1q@B#HV*M%-w&9W=?q?vY zxg3m)+wlI&iwk`t1?Xa1;H}%YZ?DmX%Cz7T6UzcI^DB>XC;LQ;pHH94v`{b*L@w$^3Um(b)L-x9d*)+�eW+$&{c~-@w22Yip1=fogB@fb> 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 diff --git a/src/Doc/JEdit/document/markdown-document.png b/src/Doc/JEdit/document/markdown-document.png index 1674dba3d07a1b308303b896917282add24211ef..a811ee0bb615d080995fc351c0bf225c330afb3b GIT binary patch literal 97294 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%0A|Xh^z*Is&Kuk3|nu0A9o%AOr+W=m3 z382mtUBFLqb8A?YY9>WwIRcT}jok}iz}4%`t4Rt`}V2>3R6nxk;czF1wPG3P?-#6zWBNnHVxnTysn!@UK zt3bZQh7CO?WpkaYH&qo03Am5{J&^${S(#dun2QSskS`x4Grex7#XlU_+WPuA5xzZs zkz8g3fH1JXe*FUMF17t;;l4ZIVcnkgllz}~Xf@x#^tQVEo4lS_I^OQJ0H1BO+JIcu zc8vfeH^IH9tAJd#Kr{f927pS!2KW^aHtGj2MKpsnmtFwJ=c<-%pPnK{iv2%K9i}txHP1gyuUu}+{$t^m@GGR*Iw9sX}4bGSjZ8EtcE}A3r9;; zEyIAt!~^W4TN^;e)sJqL?`*ipcx+~IO>zK1{}9BmozPL`F{!9Awe5H+dVB!1Iv_gA zT`xEG58CS-JJOe}Of2ft&exjbnFp3!H@yb~0s{K@L`6lb$Hru;-7BoOs%9$P0cRaQ zx^GZ>vjZ@9KiFTcc@IR(@&w=}NrVufm z*R^sz4pi7~OXK*V*xDX`2nqSQl{ap9L;^zWFW~8t+$s~>8&gwLcl->anD1XMJ6RbS z8DadM9v}b43cjn$SOS+Y^OQ1fa$9w2CNTNan#5(q5r4#AyoIp>7;`L1jEK~GOj zcU5)OUDY)`Q664iQ835Tuloogs`DiyBMKgkm}~lSB$WjQ0szBfV=K?wKd`bwLL;bV zZS)SF5P1jyQ&dm@MD;?~&Y{Z7%ZDAFo}T7T?XDai>TEfS8U5<{9@Q@karB~+DdyPV{ zwuHGkEu&t0Gz7y4z522OK{X-@3JOV;H$mU4t1+ch7~ebSK-}A(X=Qm8&m4%MykZ-p zPx?N+Qp>s-xz5$!uxPPUT*HiGcT-r+5Mp@T z*CJ?kKK`3@>6x}A#oIf=;YO^pJrWcUXrIuQ-nq(;|!mZjLRaD9Z3-g z2nY&`iwk@oZm-JyUV1rJ!R(x$J9F{!!aSdQsLw_W@dUb?TML7Og9C$u0Vyd2ghuhK zeJh)rAsgE)D^>yy>1bJ(j!9&|uzykPnfM=84}Fq=_?EKjL)=hZ)C7mQE{pzPWe z8_!CncIh)4@@4Dcg#8DNzt0RT04P(23|P}B5d$x-qggDwUQ*d`}Aq3HZ&o~Y<;$+U?4^&e)}9NCcKun(g?%m-gaL~W`OQ8CMX_K8a3d~{rm zz^wz^4rZ06E_W$d%+};Og#X?yMTySvQBouJjp@pDy$qm38kiwU9Vh=09S_q&|W^_!*l&Nk*!c>{>IV5fpzR`Cf!^M!9qmJk&A^a z%B>Fu@Ycmj$rh9U13mPIf>-1%`z!bY$hIS4JPc|xc8?v|3G}&WpP_7M!~f0w#|1}5 zBdMy2*HR+JpYmbEuA5uF6Zx5Ejfv#4zxp>J?jZ@YTeD^ecAacdMhdNH|E};RcZR0SC?_o$U z{ob-8JS}2Iy|ZXWtT+ypC%20ckR{=(_5k>wd&A%#MfB%vPvuS!uN>v~bZq&$TM41C z*}G+a+&SK0@NRyBhENRtF@UO9{~^EY;l#0O>%>91%N!r`(zUMJb!1tO>Cx-*#5MJI z1rmUAS-(ch%*kX_vSdRkY?J6FBo%Z=+K>Z^XbTj%E>R(zdrMd)I0G%`7?FBZ_JEYy z3JK};&#WH)bS8846kB5Mtw+Ljg9}8%)kc76upd%;QFXtSp9&~FT~nNnddGd7k`vVc zMKtkU-E$Ovj0?1zHgtDOg9c#AgbeVtkiw}o=Fy&EGKl+YFJc~HC9Eu7h@Y^AuC375btI{^Qgm18c<-A3v8j7 zzdnW{x3_tGMT~k6P@;+Zu18&qMAV;5&16dy$)-lB2+b&4Tp$cei|3hjl4K%uS-~4U z|Magq?|D<|==QSqJGgB{R7%&656;06-e1_N%eZ}X86BBgx6dYLMLNdhQ%$ZM55^k8 z5UTnB4ZyZDKe>+tRX@}}h9jPMQ=Y{q7fXPc+^9L_?NT^yuT}2T>|yToC=m7BXdD)| zK0F!T%1Z6izpj7$C;c2Dz(NC`6oMr;g-lu9KBrHJ3eB$1$6tQa(1=iZEB zYfXx9tb5!A+%=*dZh~F>6@z~Bl?#r_`Tp3@pULG?xNj+KptTO;XyjJqmd9d^BX{K# z{~F^7E8FJdLi1J39kqpr+eS}Cm>R;J?=Pt_g@xZ-s9X0Wh@_7?^_DmPI1^ z2?qWC=FfnR0avP>`Ee4!I7bP2wk1xmOMj)I*1Zc$_~X75PjrYlz&|dmt}on`3IOoK zSgEA}=Y5aC=0aB}EB8>9lCC0ZKt%P+ydeOLgG>O~`_q^JW+w&MN3N8}{oR}2_HXNZ zC~ps;-eYa-25$3&uJ((jKmjanet99QBxXcfS-}hEp9}xq=#Hmdl#<=Y;zlCJq9#jz z=aWAFaQGQS=w-R>BThl$m}2^8#Exs zOI;(-V{kgTU=Gjt9$Lle^v)Zpk;R&gljOZ;>r|l=RZ3RXUV2~d8_{_JOjJ=oOqhTL zgrlC<@!Ga_cs6Bc#}%U5M1bdSU3uRf!G?-&?Op83YyQGf+SU)2{f(}B^x0Ii*^Ii0 z<3KU*!PCW^94@7iTG01>TMGzfcAW9ex1k#vVvTol0&{%fJr=X?JF?IDJ3xfnzIw zJfypD)5?Hh0OQ4^fZAaI%@5Gy+z%@Ur!(V{K(7wF-%InpNn&aojpKfv- zvlB)R;z~(f6K>^siD$c_dVMvjCFMeKeCzruIkpkgwj*gM;xfFLl{wPEZ_GndQ zb+6FX_~WV~@-4p8m~GYBGIp^=xpWTT&rC6^`OfOX>j8mPO>bf09$IEzt7LhHHiO_^W(wqYaLmoMIN zxJ;!RsoB5br_iHl`+UT*bn`&*+6-@{cs+tE%lt5Gq2S9HOd0}BGpvu6deA{p7$enN z4kWrcxTdr+32P~Q{KJU;ey#PMLr?b05D|;_LKHUqK{3S%4%BL4PP6RS&UZuyK=&!C zs-s?bY~Jid4a17!hH==KCB&Gea1o~;SiKkGYmQNrLS0UTGxPJq?z7GN*B8dvO6+jg z-u)Wd@{QTcQxz~)^}`+wWFfgf!0{Ket<0u0YF>Us5-Gx779Z|&?$O9ALc3bW%m#S) z5Ij<@z%&~sfMa7d69!zOT<#n3m`pX@1$yS%Pxrjr(Jm(}DdX91{5sr&b7{|HO7EPk zxUrK(D9?6~!(0Lf0m{DLx=-(WM8|a=pbQe^lmP$YBg-t!isyu*%vSHSK4Z1!m#nWRPJLM^@ zmz-vZQfxs4(GG`MR8#c2$9=Ke83G4J4!TuP!l1^uCEE4zJP!Kqox}o?lui<>H%kqS z?(GdNswcJX!%eErysL0*fZX;tZ|4I_*<%g759!IS^5KcdY#+dXTaBV?S#6T6;gIHuSPXw9aVsXRPAAZoMQEbpekRm)vPCf0{1W6YQIgf#yNPP?b3rg&HzKS%O#I#`MM z6DN3aimn6XOEU2QW5S!|V#}&f*Xz9kC-zF=7Ts++e=dHHny(xpN619#zQ1SL9voo3 zIxbJ7GL>RtLpq0L+QgddfGMMKmDo27(&jh!Ksd}>*=m6ujC5DO6N$C5y zMei+OPI+>n=+5zPFIe4>Qpz1O@lR~a+@O`Y6Y6Rw2C&zXkpTut;< zf;#UCvdS_1%KEpSrCE4=nUs(APEOD?tE;DJVV-mYMz>9&tW21)iuBoHBD{5KVp`M{1KQdZ ztaP#dSzzdcZaqUJuZ3?{j8aT=f+K2u3K|Ah<)3UhxVzqBRvIjlUhZy?$U(9Fmy$sY z1lV33EtXqMeZxE=MzdP)iy;*7zUCk4cvS6&0^poVOf6E@f2^7noZe3PFMR17vkTH% zUvlB8qECuMe*I7I%->*-b+Sd`!W+kvRoP{6gN$CyfCybvTWi2ZjD?L2ohGBY>zyX^ z_B9QSXr4j`7)%m|PF6D`Hd`Oi`%=@kH)+m>h>l*V1VB^Ia6&*p5G|Mx!i1H4jeQdR z16ktqZ)w{=P?s^Qij}b~Abx0*IZb9w-O$C>+4iN}PIqGeVqjpvUS0R|XV{pJ%3BSA zln{bWq!MahBC{XcI4?CL#iz&S69U=yS3nJYdW^oXP@&9Rd4v<@Xc@1q07zP4h*v z!y&VtyKzHcWJvliTc+O@DLrpvJo;=5V4d&J%11}>^Yeen$~vshs=(tMBdi5Oy_CaM zTQ0Zr`##>70iM4K=zG12fJ)A%uI;xw`KC49lElH;7EJNN#_ppgFlz%81$ty}q z0A&1xysqUh6A5A5%e6muO4yLQ?#A z2{@$fx6%P+UayHt#)FH1PKucl#XdpWubA^v5*Qa;s$86$@i9+Z+otC)nMP&nWtTx)=v;e@b}U zIW>iIIA1S%cX^nnTE^mWYP_+vmE6iNpA!F$m!=@i(-r`_mW5=ha zhC^0RQY$dgGVdkzMbBX~AAGhwRsgxQR4gEp5YC*Q zo{}bSZ*C^>y0Jkfz#WUjEBSYLR2a2m0(Yp&-()(!$!5f7W=3yp7(Z8lJ-0w69y&ZM z^T&l#7?ZLdZAzAX@~?!+T}8vt;Q-I2e$y@-z3ax{+y$lYA%AN`PfG>{2TLbiN&6Sm zXwv^@;R#%U$0nLupk<0U|?YH>dNTE+eZj1TrKC&d&V|}_jmANIlYFRG&$bT zZf_tq`9%owy7kj^cH`-Br{rWXmfj0i@ z*TC*D45Q0~ITQHhK+17kwU^qMPXp5KG28N&zh+x73gn*tG&mVk)g@?~~Sno5j z?ROw8R4Qc;f2r0bhlB7L@&l}FYy`La+^M>231iZ}TtD5}nJ!fhnabvJ5V>!xfNR7R z%Ci3H!@vU5Uu6Of(A`@kMW%a_+zR+xQ#|5vci7nLXSdWw^jvzn(CpNCX43B!NGbH{ zi_lL(n6a~Jbq1Hc9(0;-Mt?@#0Ud?5vPaSYErL^_zZJ7v5Vau%VB+8e?d+I8m#ID% zL~t&9E1Oc*QiGjCTYv!69 z3aD#b%lGs%w5|~tIx?5%1<+!+=t+}i%FvL6^$B#DOP+&vBdeGvYl3U z0^3a@06?k~b|`xnTCS_xn9XR_)(Yn^t|1!=0KqWVmY@6SH}iOcU%@EN$okVU#YnOK zHSB>^?YGGNv1B+f<^X#amtKf2I^3LYPOftbSC8WOxMdu-T4mb=INQWaziwjjLj~wR zRyrB_ZJ^XPsrZN&0HlGu_0D$etwrj#MIp1Psx9=Yp>?|7lZw zZXuw>ol=Kb>zyqf$Dd>VzqJ5H!?wmpUjsMi4+wM=|BdkFmj6chlZ59V%~53SRWz;Q z-|&UK8FT(PJJuMW0n61&%W^g7TAzJYsKQU>g8uP$@Zrj)+~>&utX*O9`O#wQ@CC%@ z_^X!nj^~LwKpc@n^CI6w@7?uGuYWU7v?+?VLov~%;FD>PMtNtWoLSFiw09lG<@aBF zrTjBb)kOmmTcN=l^r`!HZK2j_+BEOlEao15*R!b~>4n+8`_W^2x4r2Ph4 z!)e#o>v2>GNqp}T)Nw`}V$aCI(A#%&f-Nfk#Agz2BBFlmuUU~g2q~HWyoRD2n1b^I zvLNDkv5Ujlshud1BNvedTr9GDcM_F3o`VJ0Q@tn1v1uGdTKtyB8Cu^EyYwKHv!&pr z4)a^hQ0`S(hx#tx=M?%}c4J$C&tLy)8UAoOJIelSRsR=i35Cy}gY)xWk#al2l5kje z6zBMALflh8Z_{F{TP?)F=NFnTUh#x4E$?vw^hF-K1)Gv}t3Wh&Dy1d(8UM|*B_zt9 zbGZcUF}>@ICpUEF9Wsd&=#N6cnCo+Q={n@&?OpA#{?Yk(Y0>s3Pc-cLOYjSA9#aN- zKYsjpF8@WR5J1h2#Qi@ECMSp9)zw9s92OEn_2EP9a4sppy)RYN>HlE00WJ|yL~t-{ z*rwT7wo6GpV?-h&)eC{%pGohe%Ox+buKFQR@FzxoDSrA3Xo8@Ee5Ii%qiA8x1ZvqA zSmUBmESE)}dD(+>SDNUN-8dt*%+GrD;8^vs+BbEAo%$a)Z9gINE_k}VaoJbv{tAMk z9CpU3hO>AZMGAaT0s(YmXKUUsh+&|6m?OzaMg}#%pkSh0eRQ<=OQHn?IADOY|-e!C^rN7_S5b$eBR*j%gKj+_AOr6Aj_%3wg49!A=xB)W=<; zVMhz6RixF~;3A-N!63hr5xAA>DzEmsrQM^C+Jo%-t?yLPW6*Qw?Q^^H8!ZH5Qk_ug zs0`{yBP)+le$YcUh-q)$Ye$hW0Yj4;GBc(2=VKI}=30+WxV}4Kbb#oEX)l#x0*VlyMtggi`_`sI%5n$ZqbYkvwHc{oL(!&Xe*_`bj!a1$r`tVBimZe74;J zI?6@KOnb6AjXbvlmCCjdXc2fDlA0v%sFo`70EdMU$ut%c)FI&vZrw{)VVj+W$rKNK z`NP!9jNo|pdhZ)Y>*aQ`o98!1QQ=_(p6;EVKQ%oBvTDV<&2*PP-wnb7RFi2TfIHp3 zussOo4w^52viLxw`0)_i#c8&vogMl0+-J`txfK!fk1`0x+qUB{z2(fqbb^LM`~te-v75C!;%*PC zI$MrauG6JEN}+r@9|lq{VBK|;hL|oRUiAt2QnU(yn#-geO6Bxa zE9z13K4_Zj`Vg&T?gW)oVi{VU(qN4#?-NPbcll$XBQlci{p1##iR3&R;N0vJ$$fc*ecoR_x$Jp#Xu)L7_HPoeuXX*Tn6j;|R1kVbliqS(0hKdhV1A*V3iOWywxF)o>(r?+)YU7={wR9?rcS5ifie!YB z0LJE5U{y0Ny-= z2P_R@*aZ}9d`Nw}7*uHS1O=)x)XkMOd^g?e6k#dS9)Aj&WnDzO zZmQJcN94#J?ceBa2zOsNJ$=SSEp^0{`$h3V$er7Pjk~axvjV||yH8LLC(_-Z?a!Wb zLmAvpSN17(VmJMq)KA&R9rV*DU`s{d77rmZKDEi7&LIp`BOcna0D5;xj)#^$(=~wq;>{iF2JU;YFW}x8ED!^xqq)bPw8HJJSU42rpL;#wB+{R&$v%Ez z0>_503AY=z3NcLV82yWF1+mBOxTh_QRu~@OFP8bxpS=k8&@t$&FAhgU>E!EUXy>l zqZRHbb*qB58xZ+vGDHRMT}|#y5ZI5tlkn!(k3^HAjWlhC_!?0BWNZ-wi4*Tp-csR) zakx1Zn5!GaKC*ODYtodrXOd3{z+ox-8?sv2Wd%#429SaqD_QM0xQpk0tW!n_Xy z39Vh1{i99k7!?7z98D*)i@+vRYhcYWuU8HS}%=6mWnPEdf3A|x_)wc?ln zhn^x}B@ErBNfNQK-W8SHy$`Y_hd|h{2S~K{`(5WLy|GR`G}mDyww#g3Y60Gg%hrk6 zr|m^l)uJ$yyR(y#TeQS)2Pele2^8X|aE$>fdy4gYs)fVu*hp|6R!f;e&#u469*TUx z^=R}V7AWZ2S5gG+BB@7#K8mcCKkJQ(-z5s7uKu-;SMDbYyhpx^{5wqh`nr_WabkDN zD{7Z5KWdx4Ab|e{immvK6npvIa;Vij3|3>XWQ+#eAsPU+n+YD%6WfsuC%OHoU}MkC z&_Wbu?ukCSR5BCO)35O18s2@cA;j+}9)#^Afj*He%a%&u+r)Wimb=Y1cBO*en(FFWikY7+5F< zW01>$NX&hDBNBO%YswS(65gRJT@onGL-fbUrl0>;Mq*~7*RVJuk-BLu5q=b$L@a5* z@^Oj)qXKPwYARyw9I7HN7Am}GRa3rn3$Gcen`n>XenVISoOS)`Sb5kZoE#is=!pOF z1mR<`%rJZvTxQX7&-o&1F`yf2sRfAGRPhD0o&;QK2u5=ISl-V^Rk!Y#dHwbqt7Jq_ zfwS_yo9>jrphAfOv7dZZ16^`U__x^2SM_b_bs~jhPlD-WVG=eJ{f{@ z`xRT7m-pU(F9>b$s%&|_k6Py1ms$bwQ`;65!ojm!vmVit^y384&(pS%w()z z6Rdm|>e{)KPUEh}3Z1yR`ow3rTQF&Q|B7{4Lm=}^X^)Hi6r%ivM@(x5dW1H>PlJQ% zcLE_SB;OOUR-6af%-_C_WkC%pEPTDOy=^pIqWJY`b9>jXIqETdnbC097m4o+r*-}@u{8U8_HgwK@esB!q zEQCVEtX4VKBF)#dbD~XADK+xa<`{RxMvX(i8laQa$U|zb&sSrK`UdP3rFi28`k;QR zM_0HtDwHgor3p|)YWnUg*0pnEPr3|{gX5C34i(sjZhGe?lI0+vUZgtXdB%Ah(#3|4 zI+UZhl;@Mci+x8M!h)1J|C`2z6yt`H{aL;L)G$SV`_~xiZ3S)v_#|LVMMhaxuf!56 zO>4BBdFjs-P&KA+eC#rR5}wUw(C8s_52QgnA@p|XVKtdIxh(iGdOFQdY(6^7^WIBw z=V)SZK*3~q$&{Q^t z0&t7b+=;O-zPC!$Kn9`P(LU)|eEQp?pvBS+7(kC zgoF`?_A9p~OP9Q6(oejY&D3s0gvmj!JKjz28iY}=R~a5~OFujz?>{yM4EdqC^;*7` zxpx6gYuQ~vO&U$OQ1n{V-qppfQ&Hr{i0U0N-8%iJW=*@#z=EIO8i<#Ee7JI@T`ZN2 z?Dk7-d|P(k{xgt?_WTnB=CfndXrpyLF-Sc%17eo>1L~y7QIDxKOm-}?1IO^VS8LpS zKGif9@vWJGfKY~*3aO5U^g)SSC*QOYiyJ6ctRuNd7U!@$>A-K@bj~kUBpf}&v66Bg zQ3J<94vHx99XHWR7S9C-QqREQz2yi?L0!3B)nLJ>RQ=Zd*vn7Nz!5yNX>l@2Xk;VR zZG-hz!CY!JU@5j}^Ff8+^m>gA_iiJnSf=o4{pXN*Ap$VI%kb;EM)#e9e2cT78ni*m znT6d_9Z3yUDWW=2zrem@Ul@rS#*;n>zHTORA@PMW>lJ|2_P5=EtLc~d!UeZ9e@uxS z5bk-#o`NAs@hioJ!A);+)*;-&kE)1F;)gX~ozdK#fXIM`C?>2uDS|4lcr}AGR>T*F z10`5~q3#AhXVjWyG*AWAw~I(9ia=ejjbNob_^L5~TELpcY&3mLUf7SO?|$Y_cexZZ zL3XaqzWa}}RPgh5<#qy?o`hcwt~XhdAm-rQBSqZX%$x{A6Wy5)`Mn8v<9ifGChIwy zBB;Vt$g$WLTvkm`CA_5qL8uF_3bilw%ylReOXkYs?)>C+E<(kJZ4dRlx+9g zIbS*U*Z8Se0d*&Da(fa{^tvB??L?7{=$*M!x?E3enyjc1g7Y!OI_9Rc6S_r@qZ;o| z40;@sfp+x`QBht5wY2kEeCLWv^Y{AJqK@J0Zl0C|O36t|@HUqonD;_cmw3$4ZRq7n zC^|>pY}Pl*J69UY8*v(s(6B)NivhLOu|RT?1BpjFq1%%7a--(EuL5zRsCOuIhg|6< z>v?4T^H(Z9e@IBZ99|K-0mWeqMMkk!KTMoEA1$%SYa)A1SWZ{?;U4`w9N*G~W=3su zkucyrXPw-3dz2f=hRsCdYVdxIYGfP4ys zWBW{>kQ`YV-#Y9GE%fmA7h~WZm(;RmaIgbshZ$XvN&k~b77G?q!FK<%31p6G#g5UE z$hBQ$T4_`jwHOU>d1@8PZC+nd>}nWPAy`H7nN*-frB`-dvcLEEwxTATe>#cyoCv49e~m5fm{lwY!ksnMz+xAcARJm z8P8A>^DS~Ua{a*thw%got&b13lpb%@1)du9YNJ}WuQ8qy)6>{VYd=mu`sw zhijW8h2pr7+H;cM=zg&4zcV}^oHxzqGa6T6wSVPBe4SMy{(g0uwd(p!iWpy+yRb)1 zDucq>Mw0QzmYn>d$j=(3pSdIHh|K;#cQi-4I}LLsc1HmSw1*Wp^z4DT+W0xRfnq0m zcJw5&`F(%2(#EeBub3<{xA^JqKf$-hiZc9vg1@oBJK;#A+_5f%VxiiOKjD8CyDn*r zKKI7L2?s%t&MGkLi z6z(?pF*Pwx;yl~1+c*>(7Lb}MO0H)OX@{E!GM}t_md*6;FcRC?us11|0}R}}(L*=C zcrT4$2I;E1^2epu>j@bQi>!IX2_^B7ZXWCX+Rv2Fxe_?&pUty<80)C^w^-AGm_(VB zpy=tSBhm3GXm9{1-(xl^Px$Ucc@@b&^WvKvS;YNal)}~FvOZ)rKr<4!i}IXPR|au7 zIeIa8yg9Xfg09zl!XTB<6Cc9RJ?W#8Y(8+4Y;C%_>Jpz?Ixtzz+d9h;ztk2a>_Lq*Rn)WrTuA|bpf@1kc>PjSE72xHH!gy?;y=CvZtEgDfL8$eBI&L*F zhIeXmj+WG+@4+E^Rpbz4P0{h)zvnC)s*Ek)_MrgSUZ`gIKUUP_A1hk>Y(<-&t>|3H zwg>b6Oa+ca3^Ckl^wnO4W<9cWGQ*d8z;ZMg3edFZ$`9z+bX2U!?AAoD6z&Dti5-!V zw0iHc5pm5F>?=HWVs9**is!V^WMGQOsR56!%;#^H2_KAQKg;WU6Np^1Zy2|%$Ax{> z3gW}yyB)e_ESMsC06XLZ$!>kD)%{?R z&4o0_KXy21@90d}2%cXsWc`!L{a|9JgA_uCkzRfV1!xGO=$LiJ7PZqB?}YSrN<6jk znI3|-rAU333MY)nuP%ct4jUx=o&7oOc#iTA4p&X)iE)|l2EbA%mhT_WP^HeZ$A=5U z6p>trbeCu2SC8(2nQH1~j&V|=T>IQr(oA^8@C$>g@M_YOFSw4#=PvjCUI8sSWV{sW z$#6psq`t2Ufv+Voa7e9>}cTs_VP5UEGsWsPU-(4c*KGV6Kc@WI8yS`6tL3z3+ti=<|2|# z5mz+D2_`S2;QvVWZU8S-&C~f`vcdd_@IiSWCY&Rj7y>(2{0YA2E5%pWz1w?Jp{+4J^cMDv zmiONsU(oX@Pn7Y#U&*#No%(!WyUp@QWB5TnfXZ7){xg|5|p)G1v$AyC8oiO_y^a3$rYxQWL_ZN*(mUu;^*!Fe1!0QZ3V}tNZyG2hnOv1@dDC4% zP-b)Ru!}SuBz;}Xjx56ocCg)lRyUuS>p3Dj(6r{VbH<45XZv0=?p79qYJXln_Y(;m zfa{`jI<7Hqur}$6BgfMQirqV3K>ZTAX4@1HihGue` zVZ(GW3P=+t?q1@(ZoRA`V(!7noI+7{*l>v7QFUxhV->93fXL-9roovd_li%G4gHgh zV!}dGM{b_wD5YTh3UhD>=1HE%lT_1BP#CBgQ6v`~xtnW8f>CTOc>fjpxnx8T-#(t= z8D$_hvA!!@3})d;TyYG z{>mh`MT{EJ6R=zn`)zpO?c^@t7A{=qiEqqc7bJE=%Q1-1jl^;6?`o?7jtrq8r^NdbjSHeeUaY z`Bz4x$}AO}7n3xU*9#~0pY#9R(degNGuLTs*Q;eqP3gib3SFpy0`{jZ2~mzAGS0xX zpXqizk#*nm6T4)u3fff3!qpYJAczZ`{YL5VQxp?Uko1k7@CkPZy~q%+G)Qc1!%LsH z1vzH<3H$p75d>`!GPI@?Sj>_Pq~1BpIFx|Tm+iAOBZB{6h^D#I1ZJBySzUIj{Gc(! zq-a$` zmWt21SiAt`bMzUagk36sd}JIjp#_@cd{9MK7bTl_+NY$Pse5t-x40yWhO!rU6nP@I z78OZdlnCRScjQ-vZO5&GfIG6V{PLk=l=YbtIed(tO(RFs{t2eFyUw`Nb2MT~}v4cU?w1m!=&+q4=2rU=1;q_u!@rKseGq17B$ z0^CsNL5FxNU|--|^?@&XgAvIW@70>i`*%0+m{3N-{Wcq)O^q3SsrZ_=>LRKS-0@>; zvc|V%lj<373!V;#v{P!2qjvR8F~D!tfS-29+_ShLg01zY@s>>&0QzyJw~JL?K3}3^ zqS{!P`3G{fretom0su$_TjJi?%$`_)4wajN0~34FWkflXP>y{*Snc<#e#oLcT(a;B zNjhWE!^*Y->pRE@p;jR4h^bW3Cl#8yM{CQ)xi=#AvwgS-q3fOYAFmmDv0!q?kJqlg z()m0doa90Qrb`P%ad?W~+^3ZpB5=77J2w+#k`j*jB=REOTT3;O8YapTb-pgX(&Wm(HXzd#th3H|56 zZk`$O&aUveABmjyJ}ut#+(m!TY-2>y_xCSQy=>Wudu(KK;wQfq zpnKM_-fneKOAw=)SHe4*_0qQB`0H%3u$)mJxdoi}X3P_F@49-z3-A{Af~5EGzBx!X zZ$!xX_0zj#`Hq$*K%&`Kfh_%02GiO*j;FQf;{%7B-0(0y=R=J zk3S!83YT)V_lj6neqaTLwI4=zrkPE8D(iNK4~?I$>#fi}pnr3S5>0V@=e`pr8y9ss zqjy6x)No{D*beF<2m z!E?nvk+WL-+ME-*1pOJm>a7tZAK<{1f3RcQ zu(WghrNyub2MCqWrnr6^d=6~bj`)#JJGr?4%q8)J@*g)5Dy}8JK?UTFq&v@d2) zG^a)Pdy5RkCDndlYX8lK%-97OG>(xIlUs~Fa;NH2zT-~-W#**aD~x(eb)ESIJov8D z;wu%hYj{4UGU-|XhZk|+5f9f-*HA%}mP7kw-^oES=3DO-7gO`l;n1_|))S6o@q0O3 zIM_wiIit5lv70%3H40|K{>82mImv2*j#zx`8T#+$!~M&kL%-Cn)x59=Dj9|l&VJta z(}|Zp|Gnbz8f0;35ut30oYd#8wx(cJQ-nE8TND?TPoJ z)4Y@qG1)%Gbe?s&yQrl@x8cQv8BIUMPhVCU6#BYob^`sZY08 zxbmW5!ZX*0+%&Il3|AOxOLg_y0%PTR_F} zHQ%Cx4-Nr>dxBeVg1ZEFcXxLS?hrz7cZcBa1Pku&?(T4h{N(%YegFI3db3uuR?~9M zsZ*zF*Ph)y%pW2iDcNgLuXS9!MI!asb4NW0A{VuVCTGZr?^*%AdPC0slUV8rdfz_1 zBAar!@*MSMbXGYaVvRtqBqDFlEk0}mYvb5$sURW@PW_wBF*OTj_|Y|Gu|!Glvw1t1 zPX-e=i2_S5V3;l4Xf~J@zs>4$zI%8LutV-)rdVedG1R{Pj8k9k>$D2T&;l0Jb=Yb4 zZoKBWNPF9VFxCGkkFc|9mz!O>RCvq_FV&jaQP3nHBZ`W}Sbl?uW!8u=7qJ~OQiDmC zx9;bpxFgNBQZi$fbTedn6D>nj6E01~-iLCC)s-!C%s)#<52qPLe+>C>9eKRr`qNpH z979wal7zy0^BL<%4kY_BHhb_|NU23+0p5!PYw`r~Nkab;Pf!v1go;q&mt~7BpTCUx z>FbX&x{b{LUPy;N9$dC$1|HvYR`e<9QQU`<*J``vs&HofD{7=4T*f{m$5f|Mgz3&y z=+H;uuuwgXl>B)eXY9u>hO`}Qn*#VN$90EbfZpETD$nR2)Zy;)0lEZ6(8T^imu=DG zExT@8PmWp@E1Xhd8C#n#N~TXQ;)Xi698;9{_}-@!i($#NF8cjlE)P%K4FNHoC7GGN zetd?v3AXJ~XVAk^8cBE{<^^5}372VB8SHc)q(SC4zH zp}|38%VuK*T#v!X=1Cqqg1h}c|pzGy4 z2qyFI?=+A|tZt~$(cg5BG}AY-*6AaEq=P^0R0su@e`Wa38h3MDV`GVGi}1fODkJg; z-8Jpx$$!rJ)_v4#@(AHv4j6l&nYM`k(YHFkH3}WGtV18qX2t%^5no@Cr%ZXk) z{(l~TN?!ZJDh1Rm!+A-!kSC`%{PiHCyMKDN6c85L9|aPOMr-ijmzg+58_kdL2I*1Y z{7dn$ElBfKgHnKh??dS2lyzK-BCu}&-@kZ?MTgsekfl8rj!W?JMTx?#2&FAv0`8Zt zO$r8Yz=H9-GMq^1vEFJQ`~8YMo=+aiM|zAd?~P`M?27W$Dm>6$(Cf67x89g#LGuZP zgf>+`ttt0MhGU2~4P4eSB=eWk5Hjvh8SMxsgS8N!?~&P4#%gZ8Tyeh?2>`dHm!v-5 zX4)OvWJzF0#|_1kTFt-}Du|||Em~6~`q!vY$FN#JeFU$S0*%6idj#K);~&Qj{c z5m42jeHP#l4_x;tH@mJ;L7g~|*sxOXje-j%8xOeZVX)_Exz<=O;uYy63K04aSz{2R z=LUrp6a@Ze&6=*$P##QnYHz;lV`DfQ`+D0$X)ojLvNdYhpww? z>aa^{^zgjK42wDx+6hQTE)8fkMSQAjT~idy8cqt|DspjBeGeFXtwjJZ7_MKMF5NI{ zZsQU`FUyk2@c&xc?XZx_0;`w>8(O(tr&;v%y`*5DmMx6!>t;R|F=Zlm#NoBNaRUGz zLusGglXi-bt%F9Z*q$7o^MhsEi=J=0WKGh)aEITtFdqa#=Ap)CZeAyxb^|tgA z$yb3v;oQq!GdRrFT3{~I?v-IeSR$)H<)TwZwW8~t`q?f}SZknSCEcR~E5L=<8Zly! zX@hN{lbfg$9~Kv#SDq?uMccpB4lMCxOC?tZFNJGb3KUECMrN-iwy*j?+$Mh^Y5sew zA0L1M1t!(Jx?krLQ_>=TC?KDbAa5f_w>Ts7zq2UF3+!V1C3zuaF8a&$LM8UYq_!%a z*e@JTJN6&YNA{<^nFt=PRqaKiy!e>6X+0h#3gv$p^gpe-+@~3xYQr0C*c#H^5vm;s zn5V;n5hmYO1e82^+@*vQK^|l>MEHAe34D-lKmrBa=|t)UtM3+;LO|ki(`Jn1=Ia@a zS0+lzqHb`}XoB8Cxg0~o#>A4ED;wMu?>40gQI0cMdk2u`ka+~?|nbS`iUJ}jPe^nX& z@#ieDD^w!c64>ql;@M(~UVjFvdPObHjX_3-h7P10`ZtD?0$D73UCs-a2CC=|c60u_ z2ww`gH$mbY(leoBBfKu27ZZBEo-Mi$r0D!D!+SbFw+PZhX|M`JHsJ9bQCF29sLLXA zqyeQZhy+v)ffulX1I%Z6;YH7J8PJ!22Axi_WRU@@a`5A)fvgtx1?L7B=5tYAh@F!W z0psBhv~o%VP-DnCkV*$owm)qA%r?3iGHxBPMCiWiZM~xyo{)Y=i<`JusQWO~5DvoeqU+c)wBb$vchi zpFh-Xw7+mrsVqb4Y!YC>l?Ur>UCWZ~bgDHGNL*Ihz6dv4$vaHU%7cjx;J6-y0Z_%T ze5l#A-dl=le{HTqhs`Mmbo8LFnqJbxYn~o1eVgFzSJI|*BF-EBQp83%RMi4kyd@4o zJmCEGF#I-96LdOA&z01fgw9aR`#GIOSN@Dh@(%}-YR(nDRM%X44h2p;U!xdZa_bC= z*sZ8)<`ejnm{HRYPBU>?2@kf`TNiA83APh_Ik~#$AsW1JKlrj z)-Vx!d&Xg+{>)l0P6jV^&xG;Q+b_w#MW$!3&#T*ortZsIpmhSzph64kR+wy;v70swK&q@P z!n?I`zb2bU*UB4xUzK0-QwSX>_L2~n)vSg_IF zdixX=G{*1t3D~)dMCfYX>?HA>hs^pH!$0IxD(n9LK|Wn24pE!DE-Jk80g2_wPO~Y} zJ!E!gc1NSw-<3(@BLaZzv_Fw=n0Ll}reVu?Q`BLAp(snW_%5nY;a&b!VY zus%ENZK$b(2v#$0zy|fMSM(r9+hl|W>Slub#DXPH5hI87Qv-Ga1e1VKdAv{J@XylY z&wLVAervY^XU&^c)@lC|QY+3oOG@_!l7~)8M}Pupf4bYQ$%7@pa%Bl84RziMxHSCI zG;Ze5t62|ZQyHCW8pn>+_vG&neu1b7!gYw!nm;@YsQlx&4yDSGgB6wiHbwzGI} zUMs2yK~Pggq#MQv-4|hJkm|rYR7VZL`xLANpL=z4_aB`0x9!W<$RLpT1znguO`4g7 zC99|iR=PmprqSvyea~Tkf2oD;V!}xz%X*o(L7$go+<716A6jVUC&I%O)1V=A_a`9x zf(u{Ujseh}mcpa@@{rE&WQ5*p_Zn(hTVQ~JCYJt%8>fydqKb{)m+IKQP@zvC!2`7> zY13nHqM>{-GY2}t@6`4+t_#au!nT88F_USH9ZEZ6as5JyM^7x+C~qodRT&W=>tv5@ zWK%C?E}ian<2(Bi3<1S<>X#xkrQ3Upa%9E-Z*%2sNsn3iQ^29Z07ie4Qa<{c4wXm_ zLX|LgDCj_TpJj9?{e(}Yf*J{19s|{A^*1PrlnK5{rW@u62HX!A>PRifI+Jv35yW39 z?%s@d)6V_JcthLvo%@bKKGu&uY0~7Y-rsgR;r(o-(?X5sw7CMAgND3?#2O`eE_8!H zWgle%*Z6*HY1L)V+LSoA_m{51#d^(96kjvwoUtGE&46Prfype>VZp^CxoV}Ro6rWg3w7^^W`aulqJ$R~=6xd$S99d< zs>4R-VNM4Xun_ISD;-twiefFX2WKck|T!T$0~VtD^M0Obz5SeZ8@o=|(w`Q5Pv z546$56j;%BQ)r1)9teS2OfVIP9yLIFS=;sP&(`{Qwylm;&q61ZDeWlV+NSO*`2#6E zgtXo>)^w~&EBJ~&Z)0gzFp`c#1rMbl(+kNHP&NzASlW)vr^}6zx3S-y*A4ZLYx_(x z>+0xHsdTc0ZMk*u<}wezO^6{EMl&yP6e@1O79fF@v_mR2L>_7a{_v^)QUjIK_4L*G9qTu)C7hR0!vw5KV!B~rpQXeT17(MvN zPGXzJUtALmqU%R?DMq1A0y{O0EwBJ%$fMpdL+!Cmmnj>ysMrKJx!Y@Hf)~1D)GdViKp4QwK*Z`2>Df3TfjAaDJv|vQ%M{a)Y*LABsh`%j6+zKW^CPUWL zzSY3`pEOnJLSX#$N;g*U$WdXu(f#6&KO?hJxsE9p`!gy<7l)}Ud{$RupTIYqOH^5_o8L286t2w3w zxiKG;A!7%_nVQ5p*H0XA%;)^cTlbp}Yt|z7kC&Oa&a{dHq@5HsXH!T1)s`P4a!yaK zYH0y$T(u=mFz<({mDK6?54ub6(DM<_9`q{lJ<(D>gN4m7!7Ut#uaj;BJ$)Ik@}Z*P z^a;+)K^n~UY@l}Ow%Z`xyR-@0A6NqD;#6bR37%$KZ~C7}x}u~?ATN&p&_x&Nz`eIc zFS?Fr+*B!ixB^hAXhCcyHfJ(y6RlbLmRK_V#$3YpmTA;noZ%rV6`W2M%^b~uYOjT( z1r0OJ8}`a=vU^C3(*I4R4)WtDbo&Ih6cLr&}L>oL_<>t$Y zQ1`4Rn2gsR;Ah3PWO2ccZi5t+q}sFcsQvY!R~o1MpLHNk55VehyHG$-d*U};43-w% zyp{2l!NNbc9dHHVKMtHWt?&c-bYD6fXvhl0x@?(Fs>o;MAXihtfEWjjMZw0=MwoD6 zYOfon!qw8i+V*1Lq)6ITUmpBTv`@eHfbgv`Y7Z_7!34Cd>tD7#axZxTu z&X*4idK~{F&lRBU)oBZ7Nav0UDye*{E%7ZyUy-DFp+k3hvAw6oBtK1JeRG>WG+k-} zpYfvZID^K5tAHsG7n-aq7@;VraaTxkh-tkdRlR9}=?kp|HbwhSMh02$MVx&X-(IS- zm6rBFD8D#1T{stID1{5^G7?L2*6A@+k-*N~O44kk`{Y;xcB-h82XJ^88Qlj?*3)hb!!23$XAOW z)XTkFD;z{8c=!a|)B-^eujs5E@2j)e-h|ci*yT8o@4Fq?Mx@!1KnOoCXn6^3&h&L0 zigdC+e5R06D^zQ)&9FCKTSOrasHA~6p3Ilp2tg$!O0^@LEmkV2G#q%R27fl(Fcxs- zym$@p-Pq7C{=vRwMI(6MzC&uzxj44#*lvLAj!)sS$z|%0pbsh{70xzNb1bRNXI4Uq z;aB(1@dpDA{5JR~T>2YJ|BzMCW&eoIHuq)bql`)50oT{pX)io1ERIg!$NEnFP1N4r zDi1|H7QQ2nOyjZomDNKo8qE}7t3nt+0Y0E`n&0ua&}an5s-FK69d6=#M5ByoYblQn zjtG~m5I^Z()K99?g0;Ufc2JhbzrXPoLqImZUf>X(Erv?Gg_k?p3?%gyQ9+W`lEnjV zBfSZW(Bh32SJ9;YOWnjR6M-pgC#yXoB_sCXAN|qlp5(t`q<6<3lK)G!Rk_YiS3LR< zOA)5KpQZl~3k8i^tByZy;uUJ7c81U$U=#E2D=wfR%9P;&XRci9u#Sr+_Nb6xo{I)e z`w{=#Kc>@94{Oiy^PXdq_kCMkuzj`T`~T?B+$IRTWth|cd3Oo*6A!~bS^yM*CbBRR zNPeJHwp#p(UqSs3 z2`BTW?&}=$@7;_2SNWD}fza){>*oIX-)7!Lp8aQPP$p{sXO)-c-u@EJ7xI6FZ!zUH zX`wqXLz9j0@bE=5Kn@5k;lG)_*FVOKaJQAjIshFp>t!fHhy3f<1M29dE);)ewc3Ap zL6B)$$&*il|DB4azQ09{KtDb?V#63pI=XzKw`02@etzI^;KUGx$5htJf250Hz<;|L zcsAL%=uM>Malh^3^7sf(j~7mdYRBvN9$_OtlH z+kGmef6+47=tl3sy;C2~+_6No1GnI<^CTh!F59B@xSvqL>-2%+Vw`r3;2)$B6<}?Z}!W>b3gWuBKC?sdDPW zbKkW4CnJhiQ#w5I3V$9KDyVNU{H4dNrZ1KY6baP63+lM)>Y6A*sD4CzC_)WO+EXlZ zW2SZ_0H+HPVmhnBEmxdrpuh!wh}Zk@!7TI zC9&P)7?oQ4xemHhckkUD41wyxKDN0)$djrzSP(W|#lA!8-Fto)d<0Sxmj{o{{-iZT zDASj9+TuB7eiby;z^p!4W&qF|696j0 zqUGNFhI~Am!VgpUytILQVd5w#ZyvUKKB8qwlL5iM_&^;JoZk>>fbZpu3y<9ql6;6d zi>Z)7-}NftVK{@A`{~s@@?CRDYo&EzmmpIxUs+}v9X5NOjVAP`y&y(6IK~|w7;Ou1 zK*;}0`F@@JP$Rd&Y*z51iuH!-9G44}5zNUsW5Gqv-sz?))Q9su3=V zEdf*k4#<~W6UkP9RyzUxM*lZ9*PKlwcr4|X&)Sp- zci+-?X*GhCl7Kz<9d?*WnJzq_+gq;y^C(MPzVB_ObQ}f=fPjfx!S8di)EWdt4Fdn> z9TaA4gXRofiNbKxOJY2D4_X?J75@@_Ccl$+woO0Z;PT}b=t`1J<(CR0fG;t8hUjKp z!aCLJSV^j7N&V!HmMQOcJ(pXdTXxFm?}_55!|r)?1{{N9$~M?4El6G~!t3p|@5@A= z^MhlYj>*Sz#oOh-4A!MRtQp_Ycy#m5+PDL+Qx;}fEa$Clas0R1ghpN@C8Te>%EKu< zOkmla-UZP;iv~L>mcKxGO2K?{S^Ug^NAIt?p}q3rbl+~TDP{lb?5tGtK|2Cv@4+dKCw^ibysKn z*gSWeXE5J?$H2(&u7C?t?yOtx0s}GwVl0^`47|Ag0a3F+xm(p0^WCr20N-kYI)9rk zg;&z53O9V33OGdBR%hl@FQld=+{~d?$WnP^n`Jpw=NE#ud`83H_f|c((^d~Q4bo*o zU3bA*k}YWbGE7S>k88zqXrKB~{Jj;uZireUIb#@hcqoQ%yObJn*sYX56_+eG8MSol5+JBD)|GvYdOyu(9_23?$fqsbSj$in6 zr43B~E{64r!XAlzlRXV|$9>FA7n1WWFovH>VrteJVK*m8zAg3L4t9xYT=QwtVm)Yz zi9rUe)yCx9rB9W_m(kU_4t%ieA$?-2WU=#iyH6X9;hN*A!0d*o77v87! zNascUP_@k&UO~P7!27PgHH)Hv>$UJRwJ+biuHn{dQucCtBnMwe;+u3A1~GaEC_w8! zg8?V~Knrk^4TeDMuef;G;|i(^!-g8uq;>Xq_A-43i*X?R__vUUAOPqX32SrbjIJ#_ zu1f@pv+nMi86r6W@_Bo%TVD~KlHu~eF`VhOpPJy>)!5@0!w`OdaPOMVdX;X0Hnp0n z%SN7Ld^o6psX|NTusMSv%CgWeTIwou>Y^jt+Q(~WeEe3!+1uQe_rM+w8wY~ z&^ zq(m|vzqtL|x?ST4j)BA9>yLi{bIFrU{HWEYLe1Kg$ExLw{mwl)U3Ilu zt)0b!LsZ{`1QQ&*6Aq*5=)aZlevkbg3+?)D#)2jhap+`Mm$MFa0F%yQbtl#afXeXx zcVv-F_f9S6eE`Cty=qmJynuzmd)tsYe%EF02t?MqWerTH|qZH%#rI3mD*?h%nC@rQQ_@ zz_;Y04`~rpl1EOCvKA_c)+0&Nw1!DBA3FW;L6-gj{(P2^%9=STm{8v!b3nfLGjPW3 zK`0YG{}X&?k^ET8ZEN|VhJcpXK(Oy5xXU&4-omyQhvBVSfOREvtz;D9|Tu5-@ z*s+oj$Gk9#unlz;Od}_!pBLrS&4UZhDq8Tm_eCW`3v!0ARGGdc;1e1YSwTp!X5S?T zYCKkX$(Z!S^o(O+VLf?Ay9JGRM$!~cTX)kPMjIz9I=7Z9N~0^-B+s8uOk)|buMpwB zz?PEN<#3%Uh{;)@ev6r>nvi786~J9ZmN%5-K8N#c@0{9Pn_#`V7&FAA)C<#K=yKwM z&zFRD;sNTn;}}q7FGLA$uV|)ne`vH{tq&0^_He%B+juXZY$S7bczv_dQAM!2ls$1| zDQDFri1IZy@-*k*w|7J7He$kVzbb_^Cwf67CY?}Os^_OG0f_W;gYaQ6VYzSdv3^5U zjNjT_2sN#tmYa7niwC317G1hdY>8Tj@5$5e@9J5&`JkZ40RVi?x?USzZUi}$ac<%8 z;GmDBVWUC{@S7BiF!inIP!1KP&HN_R=N?uI)#%%tJpMU`f@OV8ioJHqIbuQ^W4m_7 z)1(xMoB&ix6;j4V&MSOq!P&ZkSDQo`{;~er^ly_`3S5{PKME`eBSw-?B*ui4b=Wm< ze-L~B7iJ1iiiumGlIg_+fGHrcM_lM&-u3Ys$$+zwLt$nK3;^G%sMIkAPASv=QKG~hsI zg>vp0T0Pny)qE*goqglIA_x5BIZYy?n!*iLW^tI#W<~k@i~oGZClheEgjduVG`F$Z zV_1)KV)igLBD+0aL7x1eSmWKO_?T;0UqHj}0^A?QVE9>rOBJlF_>=}Kg5zOk>^IwR z{o@H)n>Ou5ufcSF93de<7PN3J1buxHImi5W;^MG-o=F8@tv0X3s>eukC3t(Y_2iQI z5=V2jxY)P(5yaoAh7}4=^xW`GR2Cdq<+}YiRrh0} zCKNPG`6fni9<-Y+94G7Kjw!*`qIwuWIB7(4g?*^YU58z#z^Tg<6MkV;jlz3|{o$(l zIn~%e%K@rz8k45>Fp4N>H%M{wW|6s1)J8@ohYS*(uhv^k*$et2S58} zRak&%dm9Yhr1h$WS6|Aw@e_RHLItq{!-#2)T%!xNqm@Ut{wf?W7O-ig!gi2|W0?%K zaE8D-4Bi%npw}+#fI3p@i4&Uz|L#%x>kb#2HbygSHW_#}Sr{gjP+1~HSbDl?-Z%2b zc%o08zOk_qsqAj==n~+ef}=Z?w|%><`*x1q7?j*`#?n6LW;-Y^#`x?ml#e%9$imHe z=EqCmCO~dtoK7k(Q$)*~S(FC>A zmV>M&OY5na*qY@JIpZR`)-u_na#GSuPQA|Qy_)E_9m1DqW=IY6IPEhRpO_REZo6 z*B$gPjTTi*8Lz~+)9y9}A9eAJxby_eg;2HPkkjXFY%|On2EX(C1qUNYc7x2^aXPXxKS_&M zv#(lrFjqxU-DPj_`ue%#Flk%%#^N_Ne6L&-Q+o@d$~G8QbA-(eGt=qw`{KoI53NR< zM)Hw;FIl;xP0%+!c@c{T7S(dHr3&?2pD`2655p%?mclqoxOElbsy^70j&!#Kx~jqUuYnwt!Jmy^cNhX z4kHc-i%y9ik;u=nj74})~mioNBq#;k7sEJ`)mBhT!0xAXYGh^v96=J2#fSh(8ziET7(_}2LUknmDP}5!tR5+}6zKVw z(6E-q7!rfbqLYEC+QZGmVWb_^cjcRE3`UGgkC76GNK%%_ibrmQRpt0s$B%5qpFwHB zT7y`c#vLK3RL(Y8I@7byQYatEKWj5HX5+miL2xo=@vSQwpGn+yf6&1Ncj}**MFeCy z6e__S7lQeQisLvUA-r3vxWlNG{X;`&frUPk3$%hyo}u#&G5KTkiE*oSkG$)3kohcc zVP%)46P>-jZm`G*%(#60c}P3%mYgO~5`XnD~TwISsQ07N7_5XWSrg8TV0dOQtS){9_b59MR^geNJ1Y^g?! zSFAO=Br0}`hXb24Ka4w%{!HE7%J-}}YQ2>Vc!d?tX~bbC@5nvfjrh;*WMRq&vOhiO zdP2~9t{Twfb5VtP%i%fR<__gUZj=XNuf=Yr;V=S)v`kWeY89%yqT^U!tS$biALaMq zpE?E!;uQBR$U!4)4~S{VMLa<<#<2eB0oQvK6l%A~Kz+z;hkT;_L6|3;%FZ6zL@p$j zVMUeeb248Cq3xHv5J~Ky{#+XELX=wl;$i_gbl^}tt%8HS{hD+0GplN)E*P0qGWrbP z(^R*Eerv%78^E{K<94RmN?IC8u{MN5bgNlbQpDSv2aP0Rq|^&}TSG^1$14RV)$6mY z(c(^y<)lS_!=*=iZ3V8q`FwaK{yh@5%k$U=y#`e!jN|T~73IM^4vg<$UI;+rmRCeT z3!)g?oVBV_~no(*~twJO4xX`VVwpur+7ip+8@N<9$5*=C-OF zGF=@v+pDeVo1>%cUt_`RN1S8V-B?{+t)@!(p`s0%>)aK-LPN(3`>bvRb{48eOCh@H zy)df9OzGF(B*H?F6m-El$f?CmdK@j_sG%y%YMU%|eL{)OK7m#EuYw!CtI$_z0bmNc z(npX9c>$4o&_ZM`L7-mK1h@HZkE!hHm@!L`P~xeGFBJUYHaC}ps@IT@<5N6$8@$v6zuD4I3gZ7 zWu1_a&=fi( zzc0-YN)o!zU!UCq3OL+xlgEo8O`rgyNOar$>9a+7BZgm0#3+x(SZ;g0`?Wjh2q>js zOx==6HNhZrUu_A0+o4Oq1)X!+rlEYwO6Yxu?fvYe5Dtrs`u5RsZy{|E2H*{PMb%oc zW!BW-0c4exzy6?}WsvIM@tvlHia393|3X7?PzTr=pG_MDp ztJYb51nACJWiZ%nu-j5rp6yT8!{{4CBFMmFrg1}4=Bx+}7P3LSL=DON#SUk5YI}yj zioMyOEV+U_`Fq$jtK9}m|F9M~0QAQ%6s_;ktIa}%=cMHl*>tfE<^v@Zw+B)mdB*RG z+Ki>8Jd^;#R4%m;T$?-Eng!OkGveuuq^|=0(z#m%YE1}O5p|S28jI6e`fb|La z*nSQGpyPSY`?N1Js{bpZuhMp1RJGokwC#Du=kDNQyL~NQx3rgr0-iW+blI8RvWhlpKpq;hfzOlw7;gobWAR`8lE#oG#jHkHi?z$v_rA2xR%-I z7#Wdyo^@LG^kRdYP1p0hSK#St(p)l;Azyq_wPZR|W|hFUammS>4#*dbbX;6NO~S)7 zbNgV)WYQLqB?z?%*a6kd=i)Xy0v zY+eYn<(nY!%SkgkaJ9hhj)_{SOvnukSIs`Fu9=@e|}_PGZYySk(55Z z*pJjWXt-Uc;Eo7ezRdhA6=KPRH$a;1TN)0}v8+@NZ^YRqV)R17PR%M9W{Rx!YfjxQ zs{xN<@r9*SRHa)j9=TTuDCLNZ^;w2bvqFPtFj@W4Svg(g4GeMDy|Z5Q7JE1uGtmsZ zYpWNWc??!lLXWe2Y7pOiZ;Is?sgY^Kn0WOOv>eT)!?HV$odvfp$DC4__tk$VUD_-; zP6nuFsFf*!98zVxNWn);9*#Mg`DvFoI8OLt5Jw0il5%xB3pOs2x^ri|?y-y>t9e&sd)ObHX=nlnm%^f3w`~jA2 znG4Ed);eHlzpKe9WvoI+X7$$ns-Is|bNI4DE$#CRb_Jz^b#U=}y}`IedQ}3BG-=P* zXPHDUHwS4AKo!9t>klzKjgzc5rPbXo9wZ1b-(FrJ(5wy%$CAB;I z5+b=DJaIjmGqIdn{f`#ltS`a*cv0IOy|3*7@%JNdVAdpy7~Ta=gcez+yCp_(m~$|< zb!PzaTmzIknZLNspEUPDJl3Sl^b}rLE|JOvo7bE9S7bBJW?yvq^?U^OsKLpSo9pxS z?s$$UrfIGE(`81rtg>;jgHBP=0OHHc!?lKOFNW9okwb;<{sjFxzLt)f8my8MD%vLR zz;q+`CYb`%#^$q!$;PJsnl1afedBnu3R_`u75 z6>iVf@X+(s=nr2i7fNXvqksQU2Ayp-X{@_Yvw&EfoxPEa=?9QQFMdTYrv3`3U&OdN zwO(q#h~|AkXiI-3W@KXWgOhQ0SO1>RzYySJ=lOzI*sl{bcaomM5;g>O`0YMqBq=Pn z6FIf^+DdkL#CRa3u;v5+_%xy5Tnn3)Ioi-7ep6;Mi|K3Pd{Py;yQ)1UlymGv4{^5D zyr}(k@Tt*OW!M)T+tbEX_=Qmwd6&d!3J~jf{OY{3| z<=~6s>h+cj9@A_EFT%9@dkl&jlA4qjEYwhZivx$#0b3QNpg(hx*Z`&Q@0@Jm_tKUW z!__YiqjQKZ))lE%ZH0g4eca1&1Lc!~^XAp%9gm9Q;+GXvwRq5~S_&j21?7-(EtvJy z*B2~>f)%KaNd>AfaLIhQ_Tw)SgJW5O9;+5P}LvnkQ1)O!K zbAj7KK3%-89B3djGB-INN0e)Qu3tzhL>&JN^z#J;Yqi5hr;f{12QxFZ?=Qw~Zcx@q zo`m^Q&6sS`O{{xo%q&ulRJn!Bpi=ybg$7bQhzNU~Vj12=DNn~hB8E9ZQ;XFw@`i;G zjEJ$3n(7iPA&)sXDF430UJUhoEblgWNPR_DJERJ_kYJ{?Ayqal9hWwlU1oDi&U~OQ2pkB8NMREyLMs?=WgW#Z?!-e!9t%r`Rt|A6QN?Ax) z*oDQE_v0}#7Kgp6*rTMR1fRP*j<(yjjq6?(`6u%!2FIgBFn&OJLpGsug?4cB=}TmR zou+yeB5qx_PJ6NmFc`7<-B3bBkIw5u;%O@ge!_MKBVV)+4zYeuzv+?-%-EOVoAByJ(Zb_C;lT0-La}-gvf*=OO~u7-swPv7qY~>L{eitR@p2eftyH%kzr`ai9|j3)!Bw zMsN5duK@QO_XLBZIuy0R>Nl{V?9Oz->Z}JK*3=5_EnD54`b;v0`)X&S1mxvO^dm%i zl#q3NZsvIn`eQ6mF)%_w2!bC4@@T0MMx*|u2Zpd^Ja_#bRB^oF1kmO&SM8B;+I$Xc z*WWK@GjRr4Jbay=HzZWHa{8P|XOK0j3Ul~#xH4@4?DDH-oJ~sL-Pci~EFHkT6Ds!# zae&?mjFctv2SktJ6Np1KH@P+o*pX6Cgl|?NByK&p=^_;rSqE2ian`Qm4l3n=y|l8O zzi1N~u}vS|fqaw2Mq_O9p5{_*Z*4gF+681+g$58f`W6@Gi_JvP`|=!I`B)mHL}94b z1?u-#0`8#A*OyaX*RxK_M6P@HmW#pFvo83GPUC8WhpS)|Z0!Bp)=vf^YnP*|z15>_ zem>8KR+`RgqMlFZiw!4D$=KnK*N31GYX(+0y}!G7xNVyfW=(MtNeOFYy5Kj@ptkyL5(`? z!|iF{>hsAB8S-eSe=r!Je&xZV{gmf!?euI$gPz6A6@1%^r(xtGH$3o@$A^e{(yRu8 zuFxejiq(rI9e?2|cM(O3D600;rqW(SLcXmIoCVBH3QQ}__ea7hnO{z!_)YKR5HDZy zVi1$WGT7n$C>~c_;_!->8Q9$8C8{wATXgN<$q?R%5Jqgtzbs3BYB0w5J^L4Jy<`t) zE4^eAro4Jii;WEcC2p^kXQ@>7a%KNBOTi#bxx-8AW&0;@ctF0456WZ#@7$Wrvio6V z!}SdA;d9HEgc0v{7Wdz0>g~@HUq+`Mw7psj6!Mo=3X>Y!pDz4;>!oC5-hTf{{d5;p zO+*s4g*Yy;s>p_v|NVAsUIxI}DQLujfLp*`}vUH(! zuugOug$1$jM*$_Otl}^mDk{d3eLZZ^+sk50L^*A_iAmUQfK zt@w@b9d^AvW}KOv)hx?J@SfYGC0%X4H~>FHsuL5xopNW5h4wM?bRTK)u&FANC%8w( z;&ZyVvJ#YplF?j(3mg>!{~v=X{$(&y9hn*;peI>!;SVa!dz^ph*xFdFI!3%_OT4Qj zHd2zGOpuXCN(FVD@@Fg&S_Ka{)PT%SA4sZ(#S$-e0Di#v81T!iZIqrMa-#5&^pFXs z(Ja$x8lim066+@fe+rA|y2+k=epbV55*xbQek@aj^gaT|akP}E!noAR{KlU{SgLT=d;<#wa!&3r*$Y=tkYG_0g0&Z2F>Wj)Pc2yF z?H+IsQQcW{)Uw~&QL^h!2A=+llVxyjMoykXXrM9CrBw~R15;B)<1Y5RO zwZmnSY4*&3w=rhK@@WuVtMRcdB?->26XXtOeTY)gw%}sbtWVCu8*7*-i#a!9;Zx&G zay9b7VapE0BDqBQeQ7ZykrWShTCMH4s~(K#9v^={I_M306g26zlq-{}{~yfXD9z0u zJP+qB@cHnZmc9Bwy#1ESxjj1UU_0EvoeS$mq=qO&ta%42ZdWU6uyr-l@tFiDPh)7H zT-FkD%mY@u2s>F$FWa&s-v29wKR-K5zhzD9G?9!K z)|1@aPgh#6ty8{#pIjR=%?=M7HU^qt;|J9uupzo;A-^W<^E?+a z#8DtSnNl@kKjZ`dYDA8^C8t4HNeMLgB$B_cyFSw(Peu#>yIU-h=)xgy*x=J&cgco! z<;)NURR=i#G;_uSOqhft9Cp=si+;~G+Z~#fJK0}WWjB9q+8lD-)P^y-8Ris75@@@K6S^elq(b4Y zR9Rix-AxX#pGEDuP$9qA%cW}2?KlvlP7iZtB$gIa1v}L9jn5mPBu!udWE-BMC4-e? zk!XoqXgG(vjVQlTzItFWLX(hu`fj&rSD+NQEE9aRx0zf8hegI*J!`_rBMTPumGinbeE`MN0me zQR|EFGWfK%^$6VPc3M(|&YkmK&0UR2yMny9YTYgi?w?R7zHucP0TdSW#Ri0jP~#t$ zLX7FJ@}%NeBq8~L)pWILlA3jsdw)?4v@@N(H>Di`ovT_ir_K3C90inDqJWxtYj znxWtgssOSk7=$!(qVieVVRvxE4=tTQR_m{E_`PP`owpA}`MaPBq#|(99q$|>BVeN@ z({u7LCWl_|AQ3Yw@(Xei5>)nDPH2eOK`84im(D9|#u9>+CV5TkOXE;V7Z#?oy*^pxWvN3845BOAcNhtI8kUiG0Cn+q#QVBS@z8q{?>ss=`|KZJ(L5y;YRv^u;Tdz_Z18QALg;mV(=AAnEHS5^%p>KbX^xPI)nfT?gV$2 z;2PW#EI7g4-Q7ZPOM<(*ySs(pE`z(f2K$>Q@_zUJw=Pvv1vA~J&)Kr}TDuQD1Y*C2 zo`e-8;>xGjb|UlAZP5`Abf{@SS_~8&0Jak@RbB@ z)a$Ix-1EuhD9a{#BV&DWInY51amxiWLcg#<2SJ9u6{}!<$?tMU>=U9FLJ-QRbG%Qt zU|S$MHoo0Fw0jsg__5B;!#fY~&sa)8fZ}kc-1b|4H$f3;mvgCSgk6HketV=2ZAG=2 zxA!RZmAE%Ipn1O&O!AEp&Oy&U^28y8 z$@+2N<&7A?dr=}PyWZoTJB+r`2QkB|a-{3c@YsMK_neu`Xa@s}?B1^ZlDWK-(MW63 z8EnNwocIuJd4K2X4fy@;t0Q&LzB_+%u0GW=6Rs$K!`Rlm_l+hip0*2rbYT}T3&!kx z7sajZPRqAey>y5So`*T&wtB0YvYIi!Yd(LwrV>y%8vr4BrMW?KB@u1uh4KrrPH0*8 zjYtW^RVOc%=F>YoawuSiGe*JM>8l8PdMrNxz3oI77)w-od@NUC3=yKj9}(2O8q~J- zA=)ZA{5t|6iRA%{;7o>qXfA@lRIoNq{hT~RoGE3PrWGu=RX=I!=e6<BHZX221jeV<0oWoWx}>3qVJX^_#OFgL z{-s9iOBF$2mQ_Fz0ZdY#Z*0Hpu(hX+8pAbr|9du`|w2l3$76nm?*^6{PQ@W7NSgw zcgHla2FI+6SniS4W_2C+J(G>Nna~KC$7<+mB#n6G1PPHl$p!Cm?%P$<7NDmNFTk~D z?Gm#i#m~2%-tRc$f{1GS964*~UTk?1c1@dC9?xa#h-kB;<~BRax|$&9HHBZdSo58r zy+mO&Ks*I&Etgt5lDZ@PWQVq?6GaQJooPAX*=;<;$RA9DbDn}<#y>nuS#DQqz$(yR z7Im1m0r@Z)vqpHhSypY@mhZZ6ZL6fuh6030PlU|rqJ%+$W_)f-`=k;l^lg_XNg4LfIv#3ckjSCPH@~-a;A&CrdYcl zSS*DocUTy#9q?gQ7U3BdJJISw?hVTchDCqob1@o4mIhn*#&GgIK`U;&6}Gs3ty_Y% zTHLpqpR`)o*Rf@rZpa*cuC5TLz3f%P^uFy8;nnxNJh^eobb~`FMS@RI`rAdk+j$3L zREswxG*|TEYZwY`Kk*AK_el*UC^^ARG z!!cg2iIBP)+}N#*{|tmLC9rQ{8yF862mLZdmU zYA1-NGJN($3iHC0F^-@>@lIZ$!cRv?;DVIY>(FZ88aZ7{@<_*Vb6xzv+-S8sTt?LJ@9j+X``VjTE$EI{= zH{3t!ONlCiZSxnB;L>x^GXC2M3F~RJWrH{JnK$>>IEVXZZR^Hs=-A7fEoJwisrlhW z`T{LvIkcLGmk^(cT#UB2?8m}CyhjNZPU}lhicHrz0*Pd6g#Xw$8g+gHuL(}|0yhrj z5t(eLjntTgQKv#0Z0^bmLkLe_QY~N6Xv7*5?XTDB9o||9c@b2)K6VnC z5}t!RXA%AH8HG`Ew98?k&G8DUSD$J z^(~jrzzOehwV@#iqOLICaU_Oup*=IN^3)%GrIsIOLygL!-hkRJjA6c37r6+$>lu@|@Z|h_E)n zM#Nq#ECBr6aSbgt#tO=MIO>&JsY!RhUe? z&J}wzUgt4`nyh;Jh6EfYau&q#j*?SOXlhrJYVm|*G{jm+GrzvTCQu{rMa$Q4DSQZb zT>`~AxLP!RBCqx|xdv+{#uev$ngySogZ?2E23)1UMDMoMSAG<=Fy8}sm9~vDmA%Je zFMU|;L_SFdtC#mJZ@q1M)CGXA7u%AR=9=Nz3W^8n5Q3;W%?Eo%O%$(Ym@eO`_{4SB zVDCer`1@VUnUta}iv0iF`6mhSA0bjdKeM+Y z(I9z5#vjde+MVF;uvq!#kFkBc&th4jn}bktyt@=@l9G1ryYtvZmilEDW(fjat@&*~ zX#Q))6y;Kae6luVvpR9ZbUJaR-Ux+*{R@RVf~5BS&*-akd1}zU^Pw?m_GKA7NX^2Y zuhymr7?@r6#`J}{xVGm;B(XEVU1drG1-g(;EvI2mw0_T)Q5U%;^&3)1*3V?9ho5(O!HaSLvMc8xSvahTcg7HWjLUBxUPuTOAcJJW) ztIif2s2~&t*vSGPk}()oOV6?F0SwCp#7zbjtO(+!72ee0m$mYnw0J}M?0k`Y33A1n ztuNXCZRc|to0Dp4g8=P}-%U;k972iTKAs2kjNWo9rl|Rb+;7^bMiMuk=Nn1FXxK5T8J2ENm!q0Pr8Fy*-*HNa7Sm|K+d|T?<`9CT_Stacj!^iyBpRrR) zR$@F%oXJ0d#<>1%wyGz!`(r+eICjT&n}$)Wk@SDVY$?zVxMP0j^rH389sl)-QsFoQ z`_C=prV8F^bFx+J5)UC0fFHOO4}QV>^YguQKh0wA&_hM-@z+qn?WYdpDL4y6iGX+5BC#Fu)ZjebGpkhZ`v5T>9x+Y$;1^UZB^ z7N04N)GiZG?~G~9FxjieZVL0wS%Ho&_QX-jb0#X3))qisq2hfx(4j#F|0wBa-pMZ7 z^2(SO@&DiMKl-ol5Obvh+`QmmdbB>ThY|=nOuylzm1(cmXD9g%P24!~b-pjS`e?NK zN}wn8ns|R+aJkhx%Zn#|UA2C{8LS-iyg!N996dP~?U_J+E9lbM;iSs8!z?|4Zd$gP zz71^v3e&{Ne|v(oP|-qPtMS4|8FSovdi!Nt*F6I zMn#O$&lLlTL3W35EdQTvu*KB2=Qh~5pk@eT`eFCAT(c3P6wlJSuwh!Lh5UM@IbT>`B3!P*ge zAURV=9DEMJuV1;3*wD*T{JyiXq;npEeEw5|P;KxZ>c=^<*A3D7q>)9kHP2uCJZBK! zT(XvJ^g?+_jakVA*L&p5QOJ=?KDn;5XSBDIK&4h7+;h}`Oe&8&u`cuen;7~-J;TQH zK52n7&Uj|*=X^yiy+(ga2~3;L?%!F^S6!2zGt&dWWhv)ucoH z3Ch@&Kwhk^O9Xh^=Vm&X!VI=CtfL(7h5!&?K6^gwwv6MwBmNod0u+eAlHSxt@yG!L z+8=TB_-Z)69#)xY2u9K!=XlK3KSGMs<62%ox$NYs&%6s z&Np$q(IZk6B(RX8azr1#8>g7aq5q#|+NFs5lgaB&j&&V&`{duPIvi0s^x=OE(O0Um z#55tD#+iSbggEI`unSfkB78{yT9F^V6TSLu%vneFK?>zh8_vx|+&1*T79)%3@AHE8 zR#T#r{x$BP1iT1@qWqUVT0m!F+*Cx1F)O{W>8 z|2=+VdUK>;-E2Vv={iqm^&uPH?HM1{FwNGR--By1wx*g0BCBn%jG=r;*m2M%u%Ptr zU5&K*GGL@v`umtMD07iJqiw6;5s?|z>=}R&zV2&njB614eRZraR3U8pB6Xh%L%xSU z`3_i!T9om`oB#gMLC|FzElNqr@>^GfQXN_!mb7?JsW<6*X-?1)YxKV%q8CO3;V|h= z+<8sMvyI?B^>k?KaGekuEHyy@;wxU^&tR*#V+fZ*9L8C<8fyA9%y~zj*=zCb|CpPB z6Yy|XgL-EEWa%LBpH?Z8h};F8?WU(d;$Pe50t^C>zkf`p$Z?##K;oY9*JTv1goe1s z=r0>g{*673~KC7r#K)t`w7JO}@u-+#Fh`eQbHuG*!rp58vNa*@u$wWdB*p-uiy<*1_M_`}VdwMdH79HJendVbJpyvA;cTh>%Q| z>ENyNe_i(|ve$sD39y&^-i`jpmW6@N=ymypG(bozeED-8f!Dr>{lAWKKyc(5$t?mhn5S*}Y&?hDa7s;}) zoTooa{+A!W|LY{_Z+vW}M5|j-w~T^D+32Bp($ZdnT&}=}H)aolTj+ms#s)AA&e#&B zqa;x<$(jQS$mcx*B_idYfDu$uq6%3v6$#CJRR=!2v+4K@)%rv!oj93ED*s8ht7yPk zufJ4*s;HW{7df~>bAIJ1d^e!_4L(R`>T#m}@X4!F8j@K~&sJy1cjD$@)WU!q`$X|b z`Art9%fr?HQ>ML|Eck^_&rzrNKH^GJN}rspg;>rUVv0=YBlc?-Jw=rZ^Ryr1zg;l- z6Nr@95w8ib3t!W!#*90C4|NnqmJz*hL;s$8*@8h&vm;Eo!S(C=i=9u|y&|`K>h+he z7Gy?-KG($_f2InR)qpK5Mtt{pNnzo-*O*?%tEdr-g=u*S7uTcVpXQv>zUP@&vG)`% z9{3Vc67RRsX}6r3c+o;rc%ttXdhH~Sg1xqqEU7qDiOmh0okwIX+>A*061nkE=h+ebcXg$|6bLx6;2pE>PmRD&Ats;D*<*ly+Si zTX%o&>+M9we_b~bew&0;RsGv7HFlX)ZjY|UTUI7JSJ@w;Jb1_H{TFj|OqZBI?HgYB zjQI+vBy6a^YCpDzw}2r*tzg%MV;;-3%O4W#na*HNQ2XW~+9*FMN+uly=%?jXdYyDc z#22a;ESQ!(K{K(LGs};G=2}k#TR&+)?Wsa&lDL1CyM5>rtE6<9^r^TMSnfeMpQ@Gb z+Swr8<82wt3Ggzr)UTSCQ{B91i6tLFfKfBS*$iI$;#RsQqRRsWM^FP7tdt%_kx zXioU=Jc&66*xP5K8@5b!3BQH{<uJGS{i-C9_7r&iiK90g!_w8eEEU zZ@%h)O=CT(1YE-HpUNbZ_nfG8#(GSG$R5JA`(`5AL8^_UtW)->)HH)ml<+7xZ6gZd z+^;fUDaoDm$t|8tvhgPIqDay^37oQiFWXOz7}Es507`m$b*l z@>b^l5NxT7pr7;!UzT^_uJ0kQ;?4m33QJjMz8OLG^A5z{92%*UsgA3wyFCav_s3b{ ztuvyf{DJsvO%x>?SAL=`dIO!r} ziJ{u|#iX3Ed2`s&jAh1AKO{r?!A+- zXx*I!27=FI(+$#hE|AK+e25AG#-#MrIKasy@}W-DO!bC3l=r%yw#x(08}{$?=69^# ze_$1eCU+Qm-`%_%Dey~`clQteHBvw0GSU4>7m`^VgXW6U9TLA)#CE#(UIik^=3|d_ zJn8Qvbx;1^H(u+ldwp zGO3u^{y-WI(FfF*f+z6Xv1Gy2LVxNW(lM2ls?wAii#=KmyK>Rx=RiTAev$sJr1JkS zSXX_9^=Th(OYIOOCod$>tlhq3(D!O7^xua_h5-!3Y7Z)3-On$VI2R?;A?0;paEecva@eK0sab*a2| ziG9<#JCVm^za^EOn@d7T8Tk6Y^*RKzJ#P@umKYHMYaqI~r#1D}2nuEU=J@`x5ZUvi zmV7)4L~fp(p1yF@(p|V8ryMS?0xt-kWtOoR8C-_6>ut3=VBNH%DO38In@+2VJ!Nar zyJTcsFZe%tKnKe~A5d{csK++H0M$2JI(v9bDK0z1mSDK>9>d(b=uy%X(WFNP^(t95 ztp%s9e=Q6>y=&1lq-1p8wzJ?>0NE>%JD@;sbl3FYtE#LeUhxV^1jg_~t{=Z>b%C3W zLTYBg$}fH)hVXK$8G?+mX6c<)lM_9KOmfgizT1~~SBG5-4feY1NlYF$HqAF{q36iTL>mDWYDhs;buCZY41}?kSqou-$rGPN|T-eLHgf>+$Zm@8Np+ z*uBO3$*a4!_bmUn;ZV+pDJhByf0CC9p;Py}*#AhWckM5-X*vK_<=)J>LeX6Ahyo%K zGH*ABw7#_To;U0KLSEKkL3`a|TpP2V1ZjS{eyVw6b&u8>aPjRYs+86*ZuGhdYp`^! z-H%LkJJR|6Id71qf^S|L=;{z=%LBGP58}MdL?iK2iSo{+8%V&&hysz|-7FaxdR_bJ z7uNXr_(?a~$CZ^1zjzj7M1YL&-K;<^vjdCse!5#`G94!i!)Af*eM4GnxfrmW=1p*S zecXp@-Mk9E+KkfuMaGgM6Br!aE=}#X-+u04+`Cm2&S4YClLBIK53J++Vb=tFLv*->z}72b0iomgA&^ z_0QV6y#=ittK36>kQ-w|n4xcA1pg%NS8Hb8VYrYUY(J`ua&fry)-7OO-8>9EosX%5 z04XQWYA*U_o-;t`$mH@Y%oY8#D};iHtYVS@jSoPE{*ica^hkBXjN)Yg`%vZ@LKBpykyIrcku?{6qD zvwD|;kx#c)c$kdF;AAm4GD$K|uOXuDYq?CR12gMEpaz&}qU-iVwYv(Q;(P~XVl}j2 z^ZCo}z~F>g6^~ae-Vg92RyU}csLV{QnjaU&ZY4w{!f{2u#_m0-sVo|CsN=+8a;Gq? z1n+&GV}H}%-|tnHmHCcCrdYXX`R;ssq_63?HS`c%Hv=2kwW`zc8=9YL)2Q5H>(BUz zq%*+s9xn^mR6Ux0>h^jm5dR`~eC5XP6bCnkLnQRQ!sdV#zz3w*v{^q#QJC@~6GA79 z!>*Y?j@6`!NCDIyF@wh*&GM1$fwyhl!brSdR=Wb%OX`+{BqU%BRC{x!lTPl>NBlVA ze#5FpNT$G*%*2qG@Q#e?!0E*=SCG%E5=5s!jEQNF&xUA^gco)%K}1T{Ux-3vF`(M^ z`PkEI@neB*K`3Hg&3Y| z^ur7IX<1%<>G5AViDURJqs)sOlrsjc1QQlN7gibdF*twnIBqJMkd{+=*Sy8Tnauvi z@$|;+APbosL1M`Gq)wVm(oFP&n#SBTOV*Y6E$!)4M>wY$LkG1v7ke647>Con&vqT% znPuDFq}IE~{q396ZUS^g^!4hgFOa!H%iD-Ob0ibPW;H^{FJFE3kxAiZo2!+U&KeVl zHEav07&7YeemqZeYtv_RnMUWon=|`O`B`1S43%}F(rmfK_sFjP?&dAtmrvHmtyx+5 zOVAPCbp{IWDg6areH|4N4{}f}q!JYrA^%K8lb%m>UrxG1s{;}hphL$%ercNNAd5^5 zJI?c(96|_Z*VB2Ke_FG$pJGm0=vDtY7bT3-*6;$gv(ZtCy3t`^?$g_2-U#+3$J?tx zD}~wXV_X4G4((LyaX)`b_Nvo0KDRp#mMOB2rsr=U_1=Ck%Zh86UHF(T z4)H#?a@XTRq}Ei-aAwI;*_M}y!92wl?=V3-yHj#O4JW5SWS>kO-=0t{QrAQU;ajzW(Eeh&U%K! zYT-?ZvN@&>ut0b`&XWkM?&BeZn&J_1q;D)F668-mz|MYAQO&czAMb}TQapFEbraGO z-cY2XiqD>B&0o|R<2Ym3qBYX$c_%BOVD-LF6=KS(1-GezOJ;(t#w2v$6AB166a zKFgjqMuLmPb&#has&_yu@3eB}Lx2BQ$nSaS3mL*NTZ0J-I!pDo>n6*syvrWv2n`Jl zlV#e=Yua4_2&QwDabx= zQI?&hr6rHs&A8kbHZ!G~p_)f`$8D6v#J(t`V(9V4#>RcXB5iGKbS`$r*e{W+#xkMy zr%To^b|(ysjpGKGe)RXR0*POEA0F)5A55H{IIW zn#pwW9KNcv+{}E-4!|9xlGwvjdEM6z52fF~56Z40(P;HZC@*IOs-&o1jJw>TWA#J$FnhU!ntZM z{j{BjyK8j@lNpntj5xF%u!~N@!N^8`RKhz~X26I>fYB$5Ril{nd&?bm$7x)>N_bll za9GowkCz6MxvC@x@-{XMGBY#jhIyQi@YG6bHA-vThX6`EbTC)d|MO?2T8&vxKpE9; zv1rL2o@X8ZgWAhz^JZG*Vx7nPTUPVwut>gNK^)5-QR;P8OeUj5tq)h~u0+p|;B@|` zRw7m~v71eyhHgHQE8X4KcRs5hiGgj^?gIf&$d~L7hgIo%Zj`iUve?Lm^zOu`#}yXc zWb!H>y-@ym0QmIg3T%zd?Leigs|%0K{G}%p3m67BS0+Wm%*-r?r>z!mSAOE) zU)zg6N_WZGoJ+`%7_xBe?K!PWr{dmbzub$oa0iSyPyMgR00=DI4z zBS&~#%kavfcC4BEadbE?$J+L`IADNKguB&1!tr`reJ%GxHWE@&NsQz3eZo8-MRMCJ zchFiq@0>uXZhO=dtTk%VCMHzD!NK=HT07sn9D(yX+X{Hq>k1M$mLu+(<|ndCc;7~j zA>*oeVPAd6TLugWS#CHG3+rC8T(FLdirPu&eedh%2MGi{ITO=2V&Q<%Mn`j}qlIVC zKfb9^CNMPy1c8gYyZ!CiCbO#cKrFqjy?vEwLZyuHx7P*Dm204D&&qEyEF4VEGp5zt zDLv(+t;>>8NHYnKbeF-yV|yk~yVlM1#VZd&Wr2Zw;Gd&C?h@4{&-EYpu}F-HLep$= zB4=TVGM_2^!0`O^+xE5@%&Jp-SU9S12kA%5~EBCenoBCq$9((`o0dO=*i;Sd@8J(nz zmEn&oD1)b&=BjVv^dOS&`f&8ckgS*as)dIwXw_=;-jBDG_}mWVG|g32EO3}~M5LsC zGg|K9$;rv6eGhs`9Jkqh@>+-qY9{f?$#?)3ggmg+)^oa^k%0gYva3f{jM@P?X~$Dr z)h2s7q6=jmHhnfIfS=?<>vE^rWEZ-exSo_27l(DZKeIi;|3s&>P@7s8V&{R6hnEl3 zSSKf^jjgSPiV?&x&>T+?kc_Nx`BU9(N;uf)6UXz2$mmV(Vs7o;TeyzQTuc_}!omqapT zS2j1v8{Pm(yvD#-yQaK<`HOkCPi5?|*$F3w9Y&UM+ZW5^P${r}5FN2ki;qm!)z&ex%&pn+e*)LOfY4C`pbC zUAa4VcV)VPNOYTA`w`Cag%THbz`IWbIU!a+;aZLL>SVpsdm`yxC5U17N=-Nmh*b9` z#-};sGz@G$ZtleHZjrsIB4bCqp+q+Qy~zTpMAl#~`z=P@&M&Bz=7IA8^ZEK?PiL3> zv0cer_5nwWO;}B(Cnq)}03CO;S5#&)Tb@CkrKY8kd`YJo zA6_B&UjBOkMjOq08ReBdx9uj?Pxc=4rlaW)P0q&*zg=VF@iFyX|CiTj&p3X*HKc#C z(g9R4zh_)@J>Pon58U71OL$0GG)x~k%~K;8ej5hG5{41+k^9|#tXt0z3vjo1!i2bp zuNpdYMA^`*!Qe%;HQ0R=pL?`am^e$w6DFLWQ&%7;`K9+nXBNm-+~9% zTCN9ErnXN^R4HCNJQw5WusP?hJIMF+SWOd>& zD1Q5>^2zIIl)IEnWAj`3)!@+yD^^q{gvo(cl_J=ka-q?Xs(Ra6>r*mNPRre|t@s`; z6u6xZ-UIsZ_{Y^$kxC>2E;~BzaDV@6pRh3agTq6JppXy}090n{KPgB%7#SHg;DaGN z9XAf;#tL&HFxm?1U90r4z7(pI$+)?31K_KSfUbnOT|$DVO-M-iJic1BiJ*o?azXla z7ZQKD@dyEMtd`Y`n(C3dj11z34sX7x4Y3rEvs`p+;eH-J_Yxi=L%KJlx^2V&FsF}@yo07Ou!4AoK)-$ z!}hDI;~?}n@!imQ<~~jD3luYz3lx>~bSn62)XQgSznnW#Q^O0@4Y%Ko0DZ_+z6e(t3G9tu`Xxoqfa!-OOXp(e3| zpjXI&HDO+(ltK&wHlkaTTs%%v!;B8r|8u}mYtH-<&t)%EIadl5I;_!9Vo!%3OaoBg z@o7bx>g#8#t;EH}D=Xo*5B-q%R$^4NI>2D?q&K*uBV!?=B=Y0qi>%e<>gtdOy@7a4 z35E2^%Vwo7>-+2LejguW9`oq|+lO{FQieKjn2K@C3&;?I*qxJD8O0%vFM92GI4 zRTVJ5xlUwp&~jqsv=+UE_5Z%#&y*|`BvLjpR^cRhC62#+QG&a3$?c)xX)8My1Jufw z`X!(A^fHGA2>3kW`8+ztKF(Yz2VPrSoXY@tFu~k=T3o`baGx3vS8+JSvu%3nJgLi zrlFY~NoiafzIS5|>9E|d+?`}|V?E1C%ysZ<-o12N^1Rmcdb~AmeR{lOHr*w94uf%~ zDG^%q5FvBd=~7MeEBBRl-|GX!;|AM^%ebc;YXRE52AB2x+I7A0Lx}83$J$7uXEUib zu_cirmUEoFp=BUQw+{~}u6OwwZy-##4dG}tgU5P#vTY>KipzkX8f&}{6E`pBpHpRM|9lvQJt zxFL7&HoCqQogQ!z4*7+{U(a=4SkxxB%29y1(_KOKUi?G7`rpWM4ae$Scl%0jZq_4J zn_ZaTuo$udQvTii`6~-(-V@KWay#oj93O28*?aB&Pmpi@7UU_YCD(`3k(JlIT=L9T zOq=bnRj!vUdrZx`#uLXn&iqag*sA^2MKjPjLLcnQ1R@p~J>(1ez5PNK`w!_09v|+` z0VQLz*8Mt>!&=K=c40wd$z>g3$^DquY`R!=jq~jy?6%^dmN{bl-@O1#pi(mI){zJ6 z3qeJRF3P#RdYJKrx|ktPb6i%Fc7QUg*4q#R?BvUrFDLtDZFW1O#DD+~4h;?M*(}v; z>J3Jt42q0=%Z{ktIiE>4V}5u_ecgxVLThsEi(JN4_uw_4>Q;D+RT_ba&gR>oa(3{)m^hj*}-7ZE-e}`R_-Vy@_3^ z8T_MW5QcWkdh>8fLyKPL9AK!e8zj&X3AA&RaX$5qxUAK6N`!H97O}_}!f6 z80^0zcI4&k;V!uc(D>fIzCeKLVI@_hG3i6MxL;F{k#*;CMiBDLXlUR8Y6NmcU?WZH z?i{0vabM=G&f+c<2;TH6phqZ`?O6zwsMUO`wZI1SSh{Xkz+e(bBtX#>6OsfzL>|xA zn42!QwwSWo+g_K}@Z=beq#C73(Ue$%Yb$J4g{n*e9SOa%8K+(QDTrafVM|WBD+DDa zq4tst?pm{ZNv3CIy5`iuj>w|Pwe9Kwg~_9Nw|=fV?WtvOvYp~jMg41CK*~-cav&&+(+}95V>8zhJZMNC6 zD-g+ecRXj4o4dArsKI{wxw%}VQdaxv1jVo`(Oh~wp`I&_NRj%%+{ zR>^H4v+Tu=;WiK=l%ccS>PbcZ;kCJcKmees`ka?Njcp%+5dBnRhC%3clOes|Vzc@J z5a*dPDctftr7K%QNqqpvpo2$sR)ySfdQysf{59FdPkk|G%*2*JC#$Xmg34m-(W|;s`FevO(&>2N;o;0J|g;cyii`(Uf49S0X6T#3e_EFxu{3VY- z=S0Vyg6(c)LyxaEd1~S8Bhy2@jg~<9))oK~C z=u{$QnoZLe$L+q5aGL#NI}XZ(AJgqgwHNRZ{COU{wFm7SWha_rVIWecJ~`e~xTPzF zukmADEL^+KdA&pZcx^_9zm&i+gTHovDe|IOGycp(((UC8D_q-6*?Du@6(cCA@6xFM zG4$SzBxJByP}l*>w^m(cs?9%9Qt}?TjYFlfL|@N+Z&g0BS10-Q+VP4g$@JIUjo7# z&f%$KI8EzMpWdW!J2FczH#*WPy2$#mTV9W$7{l^NO}xRxanaZZgUvS*mlf0r7dLver*&2{A*Zp&U*)9W5r1Jx$+5wOa>P#1uMX8@^1#m4ThTlP{vaEqf;6}sG; z!shef{Pyizu|@-GicBAn*w$(5(dc541kz?^G{VAxYkO-y0lWAA_(65)rP*NTFPA0u zEheTXUC=LIArJAn^K=Ea2He!Eh@8f13XG2}A|}RcK20YiENlv{EivVtDpaDKavFRT z5=9{7wGNv`wf)dBGZ164T%*4_Gl$uQyB-l7yt>d}&uTXL{)pl?CMiO|`oE}AllDby zx`i8ngh6D*$UdL9r-rh=HZz%|skF0>#PsAHlWqUWBb}wZdZ-n?O!|F?@W6Bm+Q`u0 zTt~s1?`S!M7t88wc;qR4W;g!)4jYpf+`qU zupmpNOcQ@9@=6o;rt(1N<+*e6T6Yd-?7gFJToZdO*TH!T?#ac&<$H;djEU-SP}uHL zG!qgItV+%yn&;LacGtiw7?|dk7C3~NTxr~PM(#Q`e-lbd%FfPCsi9T{dHI{m8Erta zcJ%c0T)ZG>XOB%_F&?kb7YDgr?kQQcS(pzdb468Gv$ozH@w|Y9l%5EL#}=|XJH#R$ zO2RceU0hfI0kE|8cz67^3a+C^b>zGM+#B^aN^;Xrr$wJP44_I&q0F<+ul!<#s{a6G z=q}G#?+XQ8={kCh?2ijlT?0Me1~p3NmiMyciurJqbQWrdNuX$=YIRl#tZS*?i-kviP` zU;}sWi6HGegBSX;oSM$ZPt89tiq}fUsSYk5r>nYh2Mr$=7fxU(k!|2&WVI`Bcd95(6#}PycsODY_!TV5m|hmq zyx6B+!&cej<9>8>RHr?^!KM7?PQ}lm+0W_-@t481iu)D?Huy=g!ail6!z|9N zG25mFWQBP=!KzieH00g6M(QoTR}na74a-)A;KEoK@h<%jl0#%FMZzUCoHoi$Zd#Z# z7;%XoWRwv>CFbs1T(3rRog6c*D9})%^z3KP6sOZj2DD`z9UNXVnit~Zj z?s50SuBr>Cnzqfr&mUWAdWpN&73RSpMSCX!!}aZ?W=*{EDh}2he`fH>5IgzoO{XmgU&^K(*eZk!YuWA;UP-z9lz_D@!478Z#F1O#3qnw+lU zuyK#0f0CI#mv1cOol@y7+_*nRane-2n2-c!0+(79f7bm3ntbJ}E8ALA$Yr&sw{h$8 zs%}Kdq^kih47Pvqu^;D46r_6(%!4d=PSZigQn7-w!o;h@7};% zyx_Fkc;7(r)#-5lTXeL+)o$^|hJn+;tlWuck2l*^ukUEPEL;n~i(lvh%uObV-Ey|o zvq?2$GM)+z4GoTN{X(0^T%Yi?X>&9~806yWI##YL+z|Sk9?ALVPnk_}rwmVyOnd?- z*R5!LIzI}0p*d&2i)ngg7WxoXRb6NP*1m?DnT2JSV8i^fcaFzomXN?4=M)E&^Ld8g z6~owY>r5Vb)3CTbEmKM`KR#>HOm!(1DK{IH+$_%!pb?f@+^Zb-mDw%l4Nk!$DrH*F zcjQ1KVmQ#eJhp3J3i@l?+W5n9Icm9%ARwVn&PVvq0U%&;*pb!HL`bW*b8sM|r!Ns8 z2GD-GSgQpmM#8_W>}`|NVdwDh@LD6KRD65BT-F;dyX;*w6{ZTN`-bh0Vi91#|Uau*VFApv3z;j^9Qy>ze{^@oAl0Sq+YScI0IHJqLO zkfG4KI@B*DPyMd);zW8uBSlKOSo_meq$+2LjJUiV_ekw&Pfy3MP8l{Bo>s!8U|aqt z;qD=_yjE0gktqNL=FxPXe5F#;CO{R8G7VefEv)LR({Em zjH|TYmO({DJvlwi(C>@Lr8sacP^8KIm^R$(dLGZ~&aSGe3bL51gi=wNvExFLlao7` zuYvQ4)Amw5BKZ^V#56Im{zATbcUOnMD5Mj=Mnx&4BO477=?9kPRGjTdqto!P;;>2N zthLEErXCzt;P{IKHlYa3M=Qn&Le5^5#-_Blg8> zCnIpS#hqgymR^5nG{a6-f|!?gaj(4BXajWI_QXf%eb1!d8>ahse``nd-|g;hUfpR6 z7kiJMrQU_9qGH6PiMlkU)w9S$Ma-*1aG-qIOq|)v&DxqmrUr5R`8%G~^dVwu>X?gY zhr(}?dGi6Tv9P1D_h>OvLT(Xr$KILWX@`!#%Tu8brtuT{3w2BuDA3*q&BTlWYT)K# z;v<0NHJ_>&{-DspU@MyDd}|8B6%907(Qvxalw?gRvbV~+6nIaQsv2&gdrfJ7x%K;> zCrxCD?3QlgOWCjXU0ht^6TkjZEQJ&~^1*63@(IwGMekW%p=k%SZ<=Sk|LU3gx;M0G zQy3*q=S{0An+JdIndi%fEt%TL753=nHaGC9>>ax)UM(Sn17UyIoue4z>M6^ zq6cXI^pGODL=LLI5b;oh|KHQs-t?g<>|MH<4*xsqlb~59Z7`q!f%*=VWuX$~iAqDs zSO!fRn7>~D`Lhz4zGgJ$IeKrFpB}{{33xwMo1j2IKs;|&ux`B-LyY({S~SE&yWZN8 z)6oLgvl6u*;q9Bz_8vM}?RsXy*Ne`C>%HNmY-~!1-~XQRUA}3l<(6o1Y5%TrfgaX>?aDbbhv?tJ(PheJvL<%n{Y^~8{?D5Qic6)zf9*;v zvRbWHl0l)yXG{L?5a|L%oTqGNwSOBMLbS>_Shr&nP5!rQ0$_ch9H9&W*zy03bm7LU zRx-_49$z8y?|MO>(P5#?YH%Dy3;kn{mHvi9e!c^DN(NWmUu8=SYkUA(@-q8l_1|~o zUZ%(dO5`wy4b#_*{qGvUXxu4?HSz@;0PJpTZT*x(`FldaOBk5A-CvWvi95BH;Gbg{ ze?KtA<95imfE(={YsmS10g)+|#~}dmH#M0X-e~0wkKmB^c@y7~lH8BOhdobL z1i77$=#0z15P09)vRg0F!3YI4xh%V#bimx6_7M&kEFR9+=mRfuExxDPXeThud8?9= z^W8i2>jkwsEBx)@lqfX7q-zlh1&UNL62ipKxiK`ke+h7R7$6^aC-R220HOt_t*s3x zahKB`EP!(|4S@l90|^b^J~xM*Bd>ZOHj6``186U)MArTb@YEEBzmVL@F~IcMd*mkh z(%!j#f8Nm;F6IYdXIaaYn(t;3n|Uul$`Y9Lp%1}zeM?KJ?d<~39V%tz*r7X($t!d= zeg=jJENu@IYisL;g$0-MA&#N7G)CPQ$E|mz8W2L!S@+i^KnXkRM*FDv)3apo4ig={ zdyPC4PU`yne7%p*n~aurVD0?JjdAlf5*}xHd$TVj3?`1Xo*qe-c;s^@&1|ah^ap9A z4KQ<(I>(iE-WVY)dwY`a{}FGay*+7 zK^I3#fu)*e7&xW&d1|>&kuIg!2z&1F{}uRiq@^|)80lR0)drC#Rd6 z8%BV@=;`Sl6O?LlEO;B3^H_lbWux=)aD)9ez@lCOpR&Q(1BxUwGt*?M5Tot>49>dc5)+F- zLuYq9$K&p>?tb~{Ar0{P>=il(KPzi=em>RXul=`(1n+*dJv|P%AGa7ME@ueCSS>a8 z^FQ5_lH(Hp^v$`84Go3E3D1>3vNl|*Tbl)glXxS6vfT+d&4PW%i_Ws89xlJ>i%q867cDVyA!PnT?(D5yQ-OoF`6khjOOnSAi$;pF>Z012BA$nZ_ z2!PLL>E7CHAG?2e`LaGkKB3OZ!A@QwON@;nfHE=H&|m`P z)LmUcQ;pmLl-qr4ydg5CEeh=~o-QhJ4T z7w!D~JOz`u^&fQHIvM8mo+#&MMRPJPlQ)l#4$Eq4WON^Ud3Ch5o}!_lfm%eiJvlYP zOZg(Rh@=>O;ALa}i++1+3uPVboR=>n4Un5__3KHE zT>Ps@af4w6ju(H>evU=j=_b%oqH=(IdH|8x-roK>U9qwFy-yUK!mGj4;eHE1|ZX${e2t|VR@oP#Gxwb&6|Hka;Uf@CB($E zp5gEh1_29>P;t9gVzR*p`*XF%gVf#NIwGnZrKqSlXeWuJP+)z1eR7MOtn9l`4^K~F z_f(jH&G*i?lJ>*Tf`cjAqc{fO171c%RQcAgEo>W%FO9&0_U0Sqja55eqGA-b2E4$C zNN&AQa-07xS;kd5R98#us-j}bLQev$bM#fJ?e>Klm#OZSP^ypqq;ed2WyJ}6M%#Q_ z*xd$eF{DudTau0JW9}>uJ-sM^0t<1*;p_YB*%}evhr6S9>)h=>PVEU>YHDN#2agwH zuuo4;X=)E}$;%7rf97Q7;NW3pTh+myJT+D8&exSID?@(tHf-+IH6Gi?tET*U`W=S# z)nPbt)|PGCg4_1eo}hV$&-!-T!rtp15f&;_Ff-y4&$+bY>3MY)rWgQxeRqGVuTMA1 zfdNw5Oc4~MHW?p?=3nz>^g43Z_1j$X*p5t zY{*N$;Q4lKq9$sj$c$0`_*2L!^v6e`0P2%JJs7G6d>hlCHZCwR-2@f10dW6{CvA2( zM;kLI?K-ZLt{l*Lta=jJg*Ps-Xw<3Bt0lFcahv|_fvam2szA!|0NGO^u1yI*cJY4- zAiy7qTAx_<#AGX}&^ilPrKtXrDTB6C4avt-Ym#Q*_)q`Pja&f^*v7qE8^ z4Ehmx3|v9J_)=!&KoKllLPo}A05D`9jf9U^7@$8EOs+I@n#k;qET^Yj0g7 z#+~-krJnv&1!e`$!Zy-~XR-j*$B**GXkBjJ&M7C~dl?D|S82B!O$HyWnzCFEd494c zDvFLW^vQB^K4#9edIz&XNA29{H1RgINNB50ba9}t55L&AenJpk`v$O!j+V9s{EU-> z&pqA1p{c3V&ri=JTU=&S@{R57)v0s;aqD~CK&nCqFbFd3wO32lR`waShrNzqtpI0h z)&2+CT$}@^c)7Sj0im%_4SxIqvDG@(KT;UH`r;OoDs7rUz-a-KB_SJNMim%c@MMRXE*m8vC<|axga7`COgE7O=2m zfSoQbF7E5oQ(tpc1O&nmMKSmn%|#QWUkK?9di1?h9G5n~_=`juD!eNJ)=kgUl%=by zOD9>nZ|9-Z*6uEsq9R&LM%6g@7fMIx981J=fSWfgQVxR+K9AY`R>ZL6!9fFg&y|FN16tVlEYes!d6dO$oZ6XXpWruW@-6p8`z9yEEJzB1{VdKkk{mO9nRlPBLvIWj;_ z;Q=4oT>R`4N_u~xOtHDTt)D-C-l>5kP;Ko`Q@R9}dva=O$W9Wu&{b&JJpEJE&_jOQ{~6+DTIDdezHVuK zMIJH=^c#LsG5klUnmttJLh}=c4Eu3p zX7T;qd(#Ow`;z+YBtIOBlZoEG^6#V;q$z2d)$e6well0-G@wdt?l48=#>d7w70ef- zbakJeUPCv$vvUhPA}31yql=J!Sxg_xc~;p^X0DBGv3y24KEh@f<19fY^UeevD^UpC zDHg2s9P!o{BR=H-s!)|eIu;9-bhR+mUl*XKjOCAe9UguTIi;_($L_CG3{aYP#{ckA)zHw$ z{I&%Mg&+aMvS9Sir1B+8(QsC|Xr46hC$qEnn)c_ZiY*$u(}RxAegfZP577*f5dbzj z$0GR>TI;6g-_mxU;TYxsrQ4fx`_o1^5Z0YyVVJ`wegv z!fnJoj>9EF@xe1We4`2;7PL&pjBdx8if);?`1%y>hS7c;lsBp4M zcIur+kHmvkP< zqwvtsj}&D(%X>{Z|49_(fP;PE*H4|MX88h!3+cV}5y&evLQI=$hXhU)DsUGlZCUy?X39Tgw6gZaiYUM-&p0s*pt*)$e_Vq0+4`r)q zXfW8Zj{saCCz0HGDR#u_)8|fMzO=Q?EiBv?=J`B2n(#%fhw&RQ&(IHdMW|X-$$IBo zPW82IFF`&4$syle!|@KfmTb z@U@!#{@r*s=cdmfVQx6*8mJmsKjDy1f6DZm@P1_(4oMTZ6TLjyl^!0>N=qy5=2$gcsT8NVJBNp-vg8E$^ z%skb6bRYm#EDLONaLr?R@Pz1&*f3$Y(g|0N7A{59&w)^sPN{)v*#67q9i*{lIsn7=YjDUu;FFo>HsUo7&nB0Nte{ZkbIIWo2dQ z3jdd8?4dmJF(n%fB8&Hcx4=u(;=f*-I#FQcM(K&3+}B#RT< zxs!bkA$;dJlvzd34ZF{NI$`0zss7~269Zm)NcZ6?$2-Y2jg>ujsskJ+Yu!S`{wzj+ zRMpdqyh}G8EslA&HSAEeyz5)>B(bbowPe%`ohzR9qI+Xfd<3)9x6$_HONKE&RlwN? z+DY3)VlGIS-c*Ir`-~O!bNBa!o;)ScnG8_#@F=u!M!)_eSuOpAlAOP6othh89A%vs z)t@=H%54ZXm8Jn9q|k+d!Y=&c!1{vMVlT5Xf84hKW#=vt<=wAFy=h9xzf&=cJyeX{ zLl?9T=Y~YHug~`f*$>|^B)K^*E(OimnOZVE_bquPfB{7n#$&I z=FAydTH1&1?tdF*YvfY2OOreZBT`aIzW4|kCJD?r2;=_2!PWtxMB@IJKd@%+{{H(~ zR(7^-Rb_klgTsSep{C!frO1ELD18AoqtuBC3wr>Wp36Nl(mppoe``eRa?gq|Qe8hm%%%u~x+xy+U~ko3$YQ1UoDrAz-QfjAm2n}Sz=9N--T?IyH}?^E@z1BHsmJQQL}(N@D1h7={q|^C zS<%aG8-_T-ze!Hs#r~SNQn4?rYO!1LwL-)rIQi zA(HJ`Xz0c9%9<>GVQQvfWB(9FEJXDIe37A?8Is-2VpK$m!yo+H(|`3()$7Ph57e4z z3fSD*x+*Rntr^2T1SSJ?;M%Jl!*TJqS~>SgTML+fgi9^S=6a^Vo0ODraIKkgH8C-C zo12^7zP=1{2AXzuyhB4nilpx`U^zBH$|UU$9Ku>N$-BSDT{0Gx4BFV(Ku$J#(^Y1S zlTFe4WB?ZAZJ+?e9lJ|CS53)>hq|sWw#ua<$v{2GeJ5rq2YQf@i2nfRZRP4Z5XtsD zb0wlfkdw1@$8f#D_2q5;ID3kiVHbTjK%;(u41Hr``o3ft+ixFkpJSCBTv^=ywccFu zXhDl_>JP*7l=ZI6a&mHIR;{OzgBzh`2xT*8^rF)SXt|R%tW-` zp`vl_5^AYG6<6<7VlO!b5EmDSa-K9R+Q8p|fG3fln;aRo=Q|LfQG z_ZWR~pRMnHYb<>H)WKH4Qzgwu<4)rM^iUVGy@?VG31!?t7HH;G%Xz+mH(R~7be+2hZMaP z+_^rO`4=i`+QQ@n%Pe^9_Ngg09v+^rS~;}vQ1Ae<0B%L5RjLKw;_biH3{^W%j8)nj z<&TJAdYR%yEG@3+-2{SO9x0koihJ46(7+_^^bW178k_yUAI2|1BRebCQc6*gwYE&8 z@zxr?@!bqvw6Yow91}fA-m!^^>`{VYih`FO&70KJJ|Oako}RhD(I}Z#+W#B^@MlGj zs9kc*&`*)Q4(5rSogH}}s(^at)d*pC42PSWo4c-|aoUf#a)q1w^rw{x(*=_5f1h2< z>lyLVV`fg@;ibQJ?HVH1Dour^r>CDc4I*a?{evkJCWOLU`QT}gyG}7Y`q6LSh5$5kxJ&lr45QdQ&*Cb4hJm%=<#DseSIDQ0jeTYm|h+y4^Ky>TRYp3Lsf2P#2KwTY^E{4?o6$u#yc5y zd~-Xgy=kodNBc(msVrmuuD(90iw6P9 gJCCns+WT>QV#H4(SFEgmjRIbp>UwI$s`sA!7v0FoU;qFB diff --git a/src/Doc/JEdit/document/ml-debugger.png b/src/Doc/JEdit/document/ml-debugger.png index 8912b98d68a98bf4c84df049cb4ad99d71291cfd..9f8ef0a48b26f77f5196b2394b08a25685ff62cb GIT binary patch literal 94536 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 V1BKk+R5t?rk&{-G%8=0W`9DkRWk&!2 diff --git a/src/Doc/JEdit/document/output-and-state.png b/src/Doc/JEdit/document/output-and-state.png index 57da399627dc17b7440aa90ee0ae7926ecc5cd17..50adadd13193373408fe74f9ac53bd7efca21802 GIT binary patch literal 137540 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�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 X(Vn+WPIL#_#lNO=OZ%gyWBC67Z2&0; diff --git a/src/Doc/JEdit/document/output-including-state.png b/src/Doc/JEdit/document/output-including-state.png index e683d6e091a8cd41a2ee70e54023c6636bca8a5b..ef7777bf663a0044d828c786cb8ff1e67d8d1f48 GIT binary patch literal 112007 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 z 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ÍV`6i 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