jk:      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ 7(c) Iago Abal, 2012 (c) David Castro, 2012BSD3WIago Abal <iago.abal@gmail.com>, David Castro <david.castro.dcp@gmail.com> Safe-Inferred +24An alternative to  to fake type parameters. Example: TY :: TY Integer instead of undefined :: Integer A(c) Iago Abal, 2012-2014 (c) David Castro, 2012-2013BSD3TIago Abal <mail@iagoabal.eu>, David Castro <david.castro.dcp@gmail.com>None 24< Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gaa9f9e7b1b5b81381fab96debbaaa638f Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga0112dc1e8e08a19bf7a4299bb09a9727 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga49f047b93b0282e686956678da5b86b1 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga311274c8a65a5d25cf715ebdf0c68747 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga3a65ded0ada3ee285865759a21140eeb Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga6c2de6ea89b244e37c3ffb17a9ea2a89 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga45fcd18a00379b13a536c5b6117190ae Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gae0aba52b5738b2ea78e0d6ad67ef1f92 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gaf06357c49299efb8a0bdaeb3bc96c6d6 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga41cf70319c4802ab7301dd168d6f5e45 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gadaa12e9990f37b0c1e2bf1dd502dbf39 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga8ac771e68b28d2c86f40aa84889b3807 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gaf93844a5964ad8dee609fac3470d86e4 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga15243dcad77f5571e28e8aa1da465675 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gaf90c72f63eab298e1dd750f6a26fb945 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga51b048ddbbcd88708e7aa4fe1c2462d6 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gab1aa4b78298fe00b3167bf7bfd88aea3 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga20d66dac19b6d6a06537843d0e25f761 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gaf52e41db4b12a84188b80255454d3abb Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gaed5d19000004b43dd75e487682e91b55 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gaf14a54d904a7e45eecc00c5fb8a9d5c9 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga000e369de7b71caa4ee701089709c526 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gaf46fb6f3aa3ef451d6be01a737697810 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga72afadf5e8b216f2c6ae675e872b8be4 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga4a4a215b9130d7980e3c393fe857335f Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gafd4b4a6465601835341b477b75725b28 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga40aa98e15aceffa5be3afad2e065478a Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gae41bebe15b1b1105f9abb8690188d1e2 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga2362dcef4e9b8ede41298a50428902ff Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga388e25a8b477abbd49f08c6c29dfa12d Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga887441b3468a1bc605bbf564ddebf2ae Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga54244cfc9d9cd2ca8f08c3909d700628 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga5735499ef0b46846c5d45982eaa0e74c Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga5735499ef0b46846c5d45982eaa0e74c Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga624e692e180a8b2f617156b1e1ae9722 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gac2e899a4906b6133a23fdb60ef992ec9 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga11498ce4b25d294f5f89ab7ac1b74c62 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga4974397cb652c7f7f479012eb465e250 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga39e3df967eaad45b343256d56c54e91c Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gae4df28ba713b81ee99abd929e32484ea Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga3a91c9f749b89e1dcf1493177d395d0c Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gac7f883536538ab0ad234fde58988e673 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga165e38ddfc928f586cb738cdf6c5f216 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gaf36d49862a8c0d20dd5e6508eef5f8af Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga0cc98d3ce68047f873e119bccaabdbee Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga72055cfbae81bd174abed32a83e50b03 Reference : nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gaff310fef80ac8a82d0a51417e073ec0a Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga1a05ff73a564ae7256a2257048a4680a Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gab2b3a542006c86c8d86dc37872f88b61 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gad651ad68c7a060cbb5616349233cb10f Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga6fe03fe3c824fceb52766a4d8c2cbeab Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga51aed8c5bc4b1f53f0c371312de3ce1a Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga9fd65e2ab039aa8e40608c2ecf7084da Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gaca22cbdb6f7787aaae5d814f2ab383d8 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga46de7559826ba71b8488d727cba1fb64 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gaf157e1e1cd8c0cfe6a21be6370f659da  Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga2bab9ae1444940e7593729beec279844  Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gafb9cc5eca9564d8a849c154c5a4a8633  Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga7d9262dc6e79f2aeb23fd4a383589dda  Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga4674da67d226bfb16861829b9f129cfa  Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga47d3655283564918c85bda0b423b7f67 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gaf9345fd0822d7e9928dd4ab14a09765b Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga94617ef18fa7157e1a3f85db625d2f4b Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga133aaa1ec31af9b570ed7627a3c8c5a4 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga0a4dac7e9397ff067136354cd33cb933 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga8fc3550edace7bc046e16d1f96ddb419 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga2011bea0f4445d58ec4d7cefe4499ceb Reference nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gabdb40b3ac220bce5a3801e6d29fb3bb6 Referece: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga4ffce34ff9117e6243283f11d87c1407 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga7e975b7d7ac96de1db73d8f71166c663 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga1d4da8849fca699b345322f8ee1fa31e Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gaf15c95b66dc3b0af735774ee401a6f85 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga88a165138162a8bac401672f0a1b7891 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga42cc319787d485d9cb665d80e02d206f Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga7201b6231b61421c005457206760a121 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga8779204998136569c3e166c34cfd3e2c Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gabe0bbc1e01a084a75506a62e5e6900b3 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gac8aca397e32ca33618d8024bff32948c Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga78e89cca82f0ab4d5f4e662e5e5fba7d  Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga9150242d9430a8c3d55d2ca3b9a4362d! Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga84ea6f0c32b99c70033feaa8f00e8f2d" Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gae305a4f54b4a64f7e5973ae6ccb13593# Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga38f423f3683379e7f597a7fe59eccb67$ Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga501ccc01d737aad3ede5699741717fda% Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga86f4415719d295a2f6845c70b3aaa1df& Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gae9c5d72605ddcd0e76657341eaccb6c7' Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gaa17e7b2c33dfe2abbd74d390927ae83e( Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga6480850f9fa01e14aea936c88ff184c4) Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga785f8127b87e0b42130e6d8f52167d7c* Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga1e2b1927cf4e50000c1600d47a152947+ Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga88f6b5ec876f05e0d7ba51e96c4b077f, Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gac87b227dc3821d57258d7f53a28323d4- Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga35f89eb05df43fbd9cce7200cc1f30b5. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gabb227526c592b523879083f12aab281f/ Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gaf46f1cb80e5a56044591a76e7c89e5e70 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga3b94e1bf87ecd1a1858af8ebc1da4a1c1 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga4932b7d08fea079dd903cd857a52dcda2 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga674b580ad605ba1c2c9f9d3748be87c43 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gac59645a6edadad79a201f417e4e0c5124 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gac8d5e776c786c1172fa0d7dfede454e15 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga03e81721502ea225c264d1f556c9119d6 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gac9322fae11365a78640baf9078c428b37 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gad29099270b36d0680bb54b560353c10e8 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga32d2fe7563f3e6b114c1b97b205d43179 Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gae774128fa5e9ff7458a36bd10e6ca0fa: Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga4e93a985aa2a7812c7c11a2c65d7c5f0; Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga063ab9f16246c99e5c1c893613927ee3< Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gaeec3414c0e8a90a6aa5a23af36bf6dc5= Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gade58fbfcf61b67bf8c4a441490d3c4df> Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gab7c026feb93e7d2eab180e96f1e6255d? Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gab738b89de0410e70c089d3ac9e696e87@ Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga8ce08af4ed1fbdf08d4d6e63d171663aA Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga5774b22e93abcaf9b594672af6c7c3c4B Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga95dac8e6eecb50f63cb82038560e0879C Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga46c18a3042fca174fe659d3185693db1D Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga5df4298ec835e43ddc9e3e0bae690c8dE Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gad240fedb2fda1c1005b8e9d3c7f3d5a0F Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga56ce0cd61666c6f8cf5777286f590544G Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga6abd3dde2a1ceff1704cf7221a72258cH Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga688c9aa1347888c7a51be4e46c19178eI Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga819814e33573f3f9948b32fdc5311158J Reference: < nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga0c78be00c03eda4ed6a983224ed5c7b7K Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga784f5ca36a4b03b93c67242cc94b21d6L Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gabf15059e9e8a2eafe4929fdfd259aadbM Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga96dc37d36efd658fff5b2b4df49b0e61N Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga0a3821ea00b1c762205f73e4bc29e7d8O Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga77a6ae233fb3371d187c6d559b2843f5P Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gab96e0ea55334cbcd5a0e79323b57615dQ Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gafd18e127c0586abf47ad9cd96895f7d2R Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gaccc04f2b58903279b1b3be589b00a7d8S Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga36cf75c92c54c1ca633a230344f23080T Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gaac2ad0fb04e4900fdb4add438d137ad3U Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga759b6563ba1204aae55289009a3fdc6dV Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga7130641e614c7ebafd28ae16a7681a21W Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gad9245cbadb80b192323d01a8360fb942X Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga46167b86067586bb742c0557d7babfd3Y Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gaa9a33d11096841f4e8c407f1578bc0bfZ Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga58a3dc67c5de52cf599c346803ba1534[ Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga2fcdb17f9039bbdaddf8a30d037bd9ff\ Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga8e350ac77e6b8fe805f57efe196e7713] Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga1ac60ee8307af8d0b900375914194ff3^ Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gadcd2929ad732937e25f34277ce4988ea_ Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga4f5fea9b683f9e674fd8f14d676cc9a9` Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gab9affbf8401a18eea474b59ad4adc890a Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga4e4ac0a4e53eee0b4b0ef159ed7d0cd5b Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga00866d16331d505620a6c515302021f9c Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gacde98ce4a8ed1dde50b9669db4838c61d Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gacc6d1b848032dec0c4617b594d4229ece Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gac829c0e25bbbd30343bf073f7b524517f Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga930a8e844d345fbebc498ac43a696042g Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga94417eed5c36e1ad48bcfc8ad6e83547h Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga3329538091996eb7b3dc677760a61072i Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gaa076d3a668e0ec97d61744403153ecf7j Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga95a19ce675b70e22bb0401f7137af37ck Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga5952ac17671117a02001fed6575c778dl Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gae898e7380409bbc57b56cc5205ef1db7m Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga093c9703393f33ae282ec5e8729354efn Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga33a202d86bf628bfab9b6f437536cebeo Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gaa5c5e2602a44d5f1373f077434859ca2p Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga7156b9c0a76a28fae46c81f8e3cdf0f1q Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gafe617994cce1b516f46128e448c84445r Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gaeed000a1bbb84b6ca6fdaac6cf0c1688s Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga40ef93b9738485caed6dc84631c3c1a0t Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga6cd426ab5748653b77d389fd3eac1015u Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gacdc73510b69a010b71793d429015f342v Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga736e88741af1c178cbebf94c49aa42dew Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gafebb0d3c212927cf7834c3a20a84ecaex Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga3df806baf6124df3e63a58cf23e12411y Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga556eae80ed43ab13e1e7dc3b38c35200z Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga0bd93cfab4d749dd3e2f2a4416820a46{ Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga001ade87a1671fe77d7e53ed0f4f1ec3| Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gad86c8730a2e4e61bac585b240a6288d4} Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga1d9cee57472b2c7623642f123b8f1781~ Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga7d6c40d9b79fe8a8851cc8540970787f Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga5e620acf5d55d0271097c9bb97219774namelogicstatus attributes assumptions# assumptionsformula      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~A(c) Iago Abal, 2012-2014 (c) David Castro, 2012-2013BSD3TIago Abal <mail@iagoabal.eu>, David Castro <david.castro.dcp@gmail.com>None +2346BEFZ3 exceptions.\Pretty-printing mode for converting ASTs to strings. The mode can be one of the following:?Z3_PRINT_SMTLIB_FULL: Print AST nodes in SMTLIB verbose format.=Z3_PRINT_LOW_LEVEL: Print AST nodes using a low-level format.KZ3_PRINT_SMTLIB_COMPLIANT: Print AST nodes in SMTLIB 1.x compliant format.LZ3_PRINT_SMTLIB2_COMPLIANT: Print AST nodes in SMTLIB 2.x compliant format.Solvers available in Z3.These are described at &http://smtlib.cs.uiowa.edu/logics.htmlWARNINGJ: Support for solvers is fragile, you may experience segmentation faults!LNon-linear integer arithmetic with uninterpreted sort and function symbols.ELinear real arithmetic with uninterpreted sort and function symbols. VUnquantified non-linear real arithmetic with uninterpreted sort and function symbols.!RUnquantified linear real arithmetic with uninterpreted sort and function symbols."UUnquantified linear integer arithmetic with uninterpreted sort and function symbols.#bDifference Logic over the integers (in essence) but with uninterpreted sort and function symbols.$TUnquantified formulas over bitvectors with uninterpreted sort function and symbols.%fUnquantified formulas built over a signature of uninterpreted (i.e., free) sort and function symbols.&Difference Logic over the reals. In essence, Boolean combinations of inequations of the form x - y < b where x and y are real variables and b is a rational constant.' Quantifier-free real arithmetic.(#Quantifier-free integer arithmetic.)Unquantified linear real arithmetic. In essence, Boolean combinations of inequations between linear polynomials over real variables.*Unquantified linear integer arithmetic. In essence, Boolean combinations of inequations between linear polynomials over integer variables.+Difference Logic over the integers. In essence, Boolean combinations of inequations of the form x - y < b where x and y are integer variables and b is an integer constant.,JClosed quantifier-free formulas over the theory of fixed-size bitvectors.-OClosed quantifier-free formulas over the theory of arrays with extensionality..wClosed quantifier-free linear formulas over the theory of integer arrays extended with free sort and function symbols./Closed quantifier-free formulas over the theory of bitvectors and bitvector arrays extended with free sort and function symbols.0TClosed quantifier-free formulas over the theory of bitvectors and bitvector arrays.11Closed linear formulas in linear real arithmetic.2|Closed formulas with free function and predicate symbols over a theory of arrays of arrays of integer index and real value.3Closed linear formulas with free sort and function symbols over one- and two-dimentional arrays of integer index and real value.4Closed formulas over the theory of linear integer arithmetic and arrays extended with free sort and function symbols but restricted to arrays with integer indices and values.5!The interpretation of a function.7!Mapping from arguments to values.8Default value.9!Result of a satisfiability check.This corresponds to the z3_lbool type in the C API.=A Z3 solver engine.QA(n) (incremental) solver, possibly specialized by a particular tactic or logic.>A Z3 parameter set.vStarting at Z3 4.0, parameter sets are used to configure many components such as: simplifiers, tactics, solvers, etc.?!Representation of the value of a  at a particular point.@+An interpretation of a function in a model.A>A model for the constraints asserted into the logical context.BYA kind of AST representing pattern and multi-patterns to guide quantifier instantiation.C>A kind of AST representing constant and function declarations.D,A kind of AST representing function symbols.EA kind of AST representing types.FA Z3 AST node.MThis is the data-structure used in Z3 to represent terms, formulas and types.GA Z3 symbol.,Used to name types, constants and functions.HA Z3 logical context.IA Z3 configuration object.JCreate a configuration.KDelete a configuration.L;Run a computation using a temporally created configuration.^Note that the configuration object can be thrown away once it has been used to create the Z3 H.MSet a configuration parameter.N/Create a context using the given configuration.O!Delete the given logical context.P5Run a computation using a temporally created context.Q0Convert the given logical context into a string.R Alias for Q.S$Create a Z3 symbol using an integer.mkIntSymbol c i requires  0 <= i < 2^30T"Create a Z3 symbol using a string.UACreate a free (uninterpreted) type using the given name (symbol).BTwo free types are considered the same iff the have the same name.V Create the boolean type.CThis type is used to create propositional variables and predicates.W Create an integer type.oThis is the type of arbitrary precision integers. A machine integer can be represented using bit-vectors, see Y.X Create a real type.cThis type is not a floating point number. Z3 does not have support for floating point numbers yet.Y+Create a bit-vector type of the given size.0This type can also be seen as a machine integer. mkBvSort c sz requires sz >= 0ZCreate an array typeWe usually represent the array type as: [domain -> range]. Arrays are usually used to model the heap/memory in software verification.[Create a tuple typeA tuple with n fields has a constructor and n projections. This function will also declare the constructor and projection functions.\Declare a constant or function.]*Create a constant or function application.^Declare and create a constant.This is a shorthand for: *do xd <- mkFunDecl c x [] s; mkApp c xd []_ Create an AST node representing true.` Create an AST node representing false.a Create an AST node representing l = r.bNThe distinct construct is used for declaring the arguments pairwise distinct. That is, Qand [ args!!i /= args!!j | i <- [0..length(args)-1], j <- [i+1..length(args)-1] ]c Create an AST node representing not(a).d1Create an AST node representing an if-then-else: ite(t1, t2, t3).e Create an AST node representing  t1 iff t2.f Create an AST node representing  t1 implies t2.g Create an AST node representing  t1 xor t2.hECreate an AST node representing args[0] and ... and args[num_args-1].iCCreate an AST node representing args[0] or ... or args[num_args-1].jACreate an AST node representing args[0] + ... + args[num_args-1].kACreate an AST node representing args[0] * ... * args[num_args-1].lCCreate an AST node representing args[0] - ... - args[num_args - 1].m%Create an AST node representing -arg.n.Create an AST node representing arg1 div arg2.o.Create an AST node representing arg1 mod arg2.p.Create an AST node representing arg1 rem arg2.qCreate less than.rCreate less than or equal to.sCreate greater than.t Create greater than or equal to.uCoerce an integer to a real.vCoerce a real to an integer.w%Check if a real number is an integer.xBitwise negation.y>Take conjunction of bits in vector, return vector of length 1.z>Take disjunction of bits in vector, return vector of length 1.{ Bitwise and.| Bitwise or.}Bitwise exclusive-or.~ Bitwise nand. Bitwise nor. Bitwise xnor.&Standard two's complement unary minus.#Standard two's complement addition.&Standard two's complement subtraction.)Standard two's complement multiplication.Unsigned division.!Two's complement signed division.Unsigned remainder.:Two's complement signed remainder (sign follows dividend).9Two's complement signed remainder (sign follows divisor).Unsigned less than."Two's complement signed less than.Unsigned less than or equal to..Two's complement signed less than or equal to."Unsigned greater than or equal to.1Two's complement signed greater than or equal to.Unsigned greater than.%Two's complement signed greater than."Concatenate the given bit-vectors._Extract the bits high down to low from a bitvector of size m to yield a new bitvector of size n, where n = high - low + 1.RSign-extend of the given bit-vector to the (signed) equivalent bitvector of size m+i, where m% is the size of the given bit-vector.WExtend the given bit-vector with zeros to the (unsigned) equivalent bitvector of size m+i, where m% is the size of the given bit-vector.&Repeat the given bit-vector up length i. Shift left.Logical shift right.Arithmetic shift right.Rotate bits of t1 to the left i times.Rotate bits of t1 to the right i times.Rotate bits of t1 to the left t2 times.Rotate bits of t1 to the right t2 times. Create an n* bit bit-vector from the integer argument t1./Create an integer from the bit-vector argument t1.If  is_signed is false, then the bit-vector t1O is treated as unsigned. So the result is non-negative and in the range [0..2^N -1], where N are the number of bits in t1. If  is_signed is true, t1# is treated as a signed bit-vector.=Create a predicate that checks that the bit-wise addition of t1 and t2 does not overflow.DCreate a predicate that checks that the bit-wise signed addition of t1 and t2 does not underflow.GCreate a predicate that checks that the bit-wise signed subtraction of t1 and t2 does not overflow.@Create a predicate that checks that the bit-wise subtraction of t1 and t2 does not underflow.DCreate a predicate that checks that the bit-wise signed division of t1 and t2 does not overflow.4Check that bit-wise negation does not overflow when t1( is interpreted as a signed bit-vector.CCreate a predicate that checks that the bit-wise multiplication of t1 and t2 does not overflow.KCreate a predicate that checks that the bit-wise signed multiplication of t1 and t2 does not underflow.XArray read. The argument a is the array and i is the index of the array that gets read. Array update.The result of this function is an array that is equal to the input array (with respect to select) on all indices except for i, where it maps to v.hThe semantics of this function is given by the theory of arrays described in the SMT-LIB standard. See  http://smtlib.org for more details.Create the constant array.]The resulting term is an array, such that a select on an arbitrary index produces the value v.Map a function f on the the argument arrays.The nR nodes args must be of array sorts [domain -> range_i]. The function declaration fZ must have type range_1 .. range_n -> range. The sort of the result is [domain -> range].Access the array default value.pProduces the default range value, for arrays that can be represented as finite maps with a default range value.!Create a numeral of a given sort.Create a numeral of sort int.Create a numeral of sort real..Create a pattern for quantifier instantiation.Z3 uses pattern matching to instantiate quantifiers. If a pattern is not provided for a quantifier, then Z3 will automatically compute a set of patterns for it. However, for optimal performance, the user should provide the patterns.Patterns comprise a list of terms. The list should be non-empty. If the list comprises of more than one term, it is a called a multi-pattern.VIn general, one can pass in a list of (multi-)patterns in the quantifier constructor.Create a bound variable.1Bound variables are indexed by de-Bruijn indices.See nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga1d4da8849fca699b345322f8ee1fa31eCreate a forall formula.8The bound variables are de-Bruijn indices created using .3Z3 applies the convention that the last element in xsE refers to the variable with index 0, the second to last element of xs+ refers to the variable with index 1, etc.Create an exists formula. Similar to .cCreate a universal quantifier using a list of constants that will form the set of bound variables.eCreate a existential quantifier using a list of constants that will form the set of bound variables.-Return the size of the given bit-vector sort.Return the sort of an AST node.Cast a  from Z3.Base.C to Bool.TReturn Z3_L_TRUE if a is true, Z3_L_FALSE if it is false, and Z3_L_UNDEF otherwise.=Return numeral value, as a string of a numeric constant term.Return Z3Int valueReturn Z3Real value:Convert an ast into an APP_AST. This is just type casting.(Evaluate an AST node in the given model.2The evaluation may fail for the following reasons:t contains a quantifier.the model m is partial.t is type incorrect. Evaluate a  collection! of AST nodes in the given model.BEvaluate a function declaration to a list of argument/value pairs.-Evaluate an array as a function, if possible.HReturn the function declaration f associated with a (_ as_array f) node.The (_ as-array f) AST node is a construct for assigning interpretations for arrays in Z3. It is the array such that forall indices i we have that (select (_ as-array f) i) is equal to (f i). This procedure returns Z3_TRUE if the a is an as-array AST node.Return the interpretation of the function f in the model m. Return NULL, if the model does not assign an interpretation for f. That should be interpreted as: the f does not matter.BReturn the number of entries in the given function interpretation.jReturn a _point_ of the given function intepretation. It represents the value of f in a particular point. Return the 'else', value of the given function interpretation.MReturn the arity (number of arguments) of the given function interpretation.Return the value of this point.9Return the number of arguments in a Z3_func_entry object.-Return an argument of a Z3_func_entry object.&Convert the given model into a string. Alias for .Create a backtracking point. Backtrack n backtracking points.-Assert a constraing into the logical context.=Check whether the given logical context is consistent or not.=Check whether the given logical context is consistent or not.UIf the logical context is not unsatisfiable and model construction is enabled (via Jb), then a model is returned. The caller is responsible for deleting the model using the function .Delete a model object.=Check whether the given logical context is consistent or not.Number of backtracking points.ECheck whether the assertions in a given solver are consistent or not.'Convert the given solver into a string.<Set the pretty-printing mode for converting ASTs to strings.Convert an AST to a string.Convert a pattern to a string.Convert a sort to a string.Convert a FuncDecl to a string.:Convert the given benchmark into SMT-LIB formatted string.(The output format can be configured via .Throws a z3 error)Throw an exception if a Z3 error happened%Return Z3 version number information.Convert  from Z3.Base.C to 9Convert  to . * should be OK but this is more convenient.Convert  to .Wraps a non-null pointer with , or else returns .M  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[ContextName of the sortName and sort of each fieldPResulting sort, and function declarations for the constructor and projections.\Logical context.#Name of the function (or constant).&Function domain (empty for constants).Return sort of the function.]^_`abcdefghijklmnopqrstuvwxyz{|}~Array.Index of the array to read.Array.Index i of the array.New value for i.Domain sort of the array.Value v that the array maps to. Function f.List of arrays.Array.Terms.de-Bruijn index.Instantiation patterns (see ).Bound (quantified) variables xs.Sorts of the bound variables.Body of the quantifier.Instantiation patterns (see ).0Constants to be abstracted into bound variables.Quantifier body.Instantiation patterns (see ).0Constants to be abstracted into bound variables.Quantifier body.Model m.Expression to evaluate t.namelogicstatus attributes assumptionsformula  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~IHGFEDCBA@?>=9<;:JKLMNOPQRSTUVWXYZ[\]^_`acdefghibjklmnopqrstuvwxyz{|}~567843210/.-,+*)('&%$#"!    43210/.-,+*)('&%$#"! 56789<;:=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<(c) Iago Abal, 2013-2014 (c) David Castro, 2013BSD3WIago Abal <iago.abal@gmail.com>, David Castro <david.castro.dcp@gmail.com>None 24Values for Z3 options.Configuration option.Z3 configuration.Default configuration.Append configurations.Set a configuration option.Set configuration.If you are using    or  L interfaces, you don't need to call this function directly, just pass your  to evalZ3*.Set an option.          7(c) Iago Abal, 2013 (c) David Castro, 2013BSD3WIago Abal <iago.abal@gmail.com>, David Castro <david.castro.dcp@gmail.com>None 24BZ3 environment.Eval a Z3 script.4Eval a Z3 script with default configuration options.Create a new Z3 environment.OUntil we move to Z3 API 4.0 you need to manually freed this environment using .Free a Z3 environment.*Eval a Z3 script with a given environment.QEnvironments may facilitate running many queries under the same logical context.mNote that an environment may change after each query. If you want to preserve the same environment then use { , as in evalZ3WithEnv env (local query).+Convert Z3's logical context into a string. Alias for .$Create a Z3 symbol using an integer."Create a Z3 symbol using a string. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gafebb0d3c212927cf7834c3a20a84ecaeACreate a free (uninterpreted) type using the given name (symbol). Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga736e88741af1c178cbebf94c49aa42de Create the boolean type. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gacdc73510b69a010b71793d429015f342 Create the integer type. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga6cd426ab5748653b77d389fd3eac1015 Create the real type. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga40ef93b9738485caed6dc84631c3c1a0+Create a bit-vector type of the given size.0This type can also be seen as a machine integer. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gaeed000a1bbb84b6ca6fdaac6cf0c1688Create an array type Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gafe617994cce1b516f46128e448c84445 Create a tuple type Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga7156b9c0a76a28fae46c81f8e3cdf0f1  A Z3 function *Create a constant or function application. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga33a202d86bf628bfab9b6f437536cebe Declare and create a constant. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga093c9703393f33ae282ec5e8729354ef  Create an AST node representing true. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gae898e7380409bbc57b56cc5205ef1db7 Create an AST node representing false. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga5952ac17671117a02001fed6575c778d Create an AST node representing l = r. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga95a19ce675b70e22bb0401f7137af37cNThe distinct construct is used for declaring the arguments pairwise distinct. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gaa076d3a668e0ec97d61744403153ecf7 Create an AST node representing not(a). Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga3329538091996eb7b3dc677760a610721Create an AST node representing an if-then-else: ite(t1, t2, t3). Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga94417eed5c36e1ad48bcfc8ad6e83547 Create an AST node representing  t1 iff t2. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga930a8e844d345fbebc498ac43a696042 Create an AST node representing  t1 implies t2. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gac829c0e25bbbd30343bf073f7b524517 Create an AST node representing  t1 xor t2. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gacc6d1b848032dec0c4617b594d4229ecECreate an AST node representing args[0] and ... and args[num_args-1]. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gacde98ce4a8ed1dde50b9669db4838c61CCreate an AST node representing args[0] or ... or args[num_args-1]. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga00866d16331d505620a6c515302021f9ACreate an AST node representing args[0] + ... + args[num_args-1]. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga4e4ac0a4e53eee0b4b0ef159ed7d0cd5ACreate an AST node representing args[0] * ... * args[num_args-1]. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gab9affbf8401a18eea474b59ad4adc890CCreate an AST node representing args[0] - ... - args[num_args - 1]. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga4f5fea9b683f9e674fd8f14d676cc9a9%Create an AST node representing -arg. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gadcd2929ad732937e25f34277ce4988ea.Create an AST node representing arg1 div arg2. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga1ac60ee8307af8d0b900375914194ff3.Create an AST node representing arg1 mod arg2. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga8e350ac77e6b8fe805f57efe196e7713.Create an AST node representing arg1 rem arg2. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga2fcdb17f9039bbdaddf8a30d037bd9ffCreate less than. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga58a3dc67c5de52cf599c346803ba1534 Create less than or equal to. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gaa9a33d11096841f4e8c407f1578bc0bf!Create greater than. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga46167b86067586bb742c0557d7babfd3" Create greater than or equal to. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gad9245cbadb80b192323d01a8360fb942#Coerce an integer to a real. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga7130641e614c7ebafd28ae16a7681a21$Coerce a real to an integer. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga759b6563ba1204aae55289009a3fdc6d%%Check if a real number is an integer. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gaac2ad0fb04e4900fdb4add438d137ad3&Bitwise negation. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga36cf75c92c54c1ca633a230344f23080'>Take conjunction of bits in vector, return vector of length 1. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gaccc04f2b58903279b1b3be589b00a7d8(>Take disjunction of bits in vector, return vector of length 1. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gafd18e127c0586abf47ad9cd96895f7d2) Bitwise and. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gab96e0ea55334cbcd5a0e79323b57615d* Bitwise or. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga77a6ae233fb3371d187c6d559b2843f5+Bitwise exclusive-or. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga0a3821ea00b1c762205f73e4bc29e7d8, Bitwise nand. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga96dc37d36efd658fff5b2b4df49b0e61- Bitwise nor. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gabf15059e9e8a2eafe4929fdfd259aadb. Bitwise xnor. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga784f5ca36a4b03b93c67242cc94b21d6/&Standard two's complement unary minus. Reference: < nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga0c78be00c03eda4ed6a983224ed5c7b70#Standard two's complement addition. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga819814e33573f3f9948b32fdc53111581&Standard two's complement subtraction. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga688c9aa1347888c7a51be4e46c19178e2)Standard two's complement multiplication. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga6abd3dde2a1ceff1704cf7221a72258c3Unsigned division. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga56ce0cd61666c6f8cf5777286f5905444!Two's complement signed division. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gad240fedb2fda1c1005b8e9d3c7f3d5a05Unsigned remainder. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga5df4298ec835e43ddc9e3e0bae690c8d6:Two's complement signed remainder (sign follows dividend). Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga46c18a3042fca174fe659d3185693db179Two's complement signed remainder (sign follows divisor). Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga95dac8e6eecb50f63cb82038560e08798Unsigned less than. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga5774b22e93abcaf9b594672af6c7c3c49"Two's complement signed less than. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga8ce08af4ed1fbdf08d4d6e63d171663a:Unsigned less than or equal to. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gab738b89de0410e70c089d3ac9e696e87;.Two's complement signed less than or equal to. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gab7c026feb93e7d2eab180e96f1e6255d<"Unsigned greater than or equal to. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gade58fbfcf61b67bf8c4a441490d3c4df=1Two's complement signed greater than or equal to. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gaeec3414c0e8a90a6aa5a23af36bf6dc5>Unsigned greater than. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga063ab9f16246c99e5c1c893613927ee3?%Two's complement signed greater than. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga4e93a985aa2a7812c7c11a2c65d7c5f0@"Concatenate the given bit-vectors. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gae774128fa5e9ff7458a36bd10e6ca0faA_Extract the bits high down to low from a bitvector of size m to yield a new bitvector of size n, where n = high - low + 1. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga32d2fe7563f3e6b114c1b97b205d4317BRSign-extend of the given bit-vector to the (signed) equivalent bitvector of size m+i, where m% is the size of the given bit-vector. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gad29099270b36d0680bb54b560353c10eCWExtend the given bit-vector with zeros to the (unsigned) equivalent bitvector of size m+i, where m% is the size of the given bit-vector. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gac9322fae11365a78640baf9078c428b3D&Repeat the given bit-vector up length i. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga03e81721502ea225c264d1f556c9119dE Shift left. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gac8d5e776c786c1172fa0d7dfede454e1FLogical shift right. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gac59645a6edadad79a201f417e4e0c512GArithmetic shift right. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga674b580ad605ba1c2c9f9d3748be87c4HRotate bits of t1 to the left i times. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga4932b7d08fea079dd903cd857a52dcdaIRotate bits of t1 to the right i times. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga3b94e1bf87ecd1a1858af8ebc1da4a1cJRotate bits of t1 to the left t2 times. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gaf46f1cb80e5a56044591a76e7c89e5e7KRotate bits of t1 to the right t2 times. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gabb227526c592b523879083f12aab281fL Create an n* bit bit-vector from the integer argument t1. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga35f89eb05df43fbd9cce7200cc1f30b5M/Create an integer from the bit-vector argument t1. If  is_signed is false, then the bit-vector t1O is treated as unsigned. So the result is non-negative and in the range [0..2^N -1], where N are the number of bits in t1. If  is_signed is true, t1# is treated as a signed bit-vector. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gac87b227dc3821d57258d7f53a28323d4N=Create a predicate that checks that the bit-wise addition of t1 and t2 does not overflow. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga88f6b5ec876f05e0d7ba51e96c4b077fODCreate a predicate that checks that the bit-wise signed addition of t1 and t2 does not underflow. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga1e2b1927cf4e50000c1600d47a152947PGCreate a predicate that checks that the bit-wise signed subtraction of t1 and t2 does not overflow. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga785f8127b87e0b42130e6d8f52167d7cQ@Create a predicate that checks that the bit-wise subtraction of t1 and t2 does not underflow. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga6480850f9fa01e14aea936c88ff184c4RDCreate a predicate that checks that the bit-wise signed division of t1 and t2 does not overflow. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gaa17e7b2c33dfe2abbd74d390927ae83eS4Check that bit-wise negation does not overflow when t1( is interpreted as a signed bit-vector. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gae9c5d72605ddcd0e76657341eaccb6c7TCCreate a predicate that checks that the bit-wise multiplication of t1 and t2 does not overflow. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga86f4415719d295a2f6845c70b3aaa1dfUKCreate a predicate that checks that the bit-wise signed multiplication of t1 and t2 does not underflow. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga501ccc01d737aad3ede5699741717fdaVXArray read. The argument a is the array and i is the index of the array that gets read. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga38f423f3683379e7f597a7fe59eccb67WArray update.  Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gae305a4f54b4a64f7e5973ae6ccb13593XCreate the constant array. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga84ea6f0c32b99c70033feaa8f00e8f2dY!map f on the the argument arrays. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga9150242d9430a8c3d55d2ca3b9a4362dZAccess the array default value. Produces the default range value, for arrays that can be represented as finite maps with a default range value. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga78e89cca82f0ab4d5f4e662e5e5fba7d[!Create a numeral of a given sort. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gac8aca397e32ca33618d8024bff32948c\Create a numeral of sort int.]Create a numeral of sort real.d-Return the size of the given bit-vector sort. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga8fc3550edace7bc046e16d1f96ddb419eReturns  Just True,  Just False, or Nothing for  undefined. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga133aaa1ec31af9b570ed7627a3c8c5a4fReturn the integer valuegReturn rational valuehCast AST into an App.i(Evaluate an AST node in the given model.j6Evaluate a collection of AST nodes in the given model.k/Get function as a list of argument/value pairs.lfGet array as a list of argument/value pairs, if it is represented as a function (ie, using as-array).mReturn the interpretation of the function f in the model m. Return NULL, if the model does not assign an interpretation for f. That should be interpreted as: the f does not matter. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gafb9cc5eca9564d8a849c154c5a4a8633nThe (_ as-array f) AST node is a construct for assigning interpretations for arrays in Z3. It is the array such that forall indices i we have that (select (_ as-array f) i) is equal to (f i). This procedure returns Z3_TRUE if the a is an as-array AST node. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga4674da67d226bfb16861829b9f129cfaoHReturn the function declaration f associated with a (_ as_array f) node. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga7d9262dc6e79f2aeb23fd4a383589ddapBReturn the number of entries in the given function interpretation. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga2bab9ae1444940e7593729beec279844qjReturn a "point" of the given function intepretation. It represents the value of f in a particular point. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gaf157e1e1cd8c0cfe6a21be6370f659dar Return the 'else', value of the given function interpretation. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga46de7559826ba71b8488d727cba1fb64sMReturn the arity (number of arguments) of the given function interpretation. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gaca22cbdb6f7787aaae5d814f2ab383d8tReturn the value of this point. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga9fd65e2ab039aa8e40608c2ecf7084dau9Return the number of arguments in a Z3_func_entry object. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga51aed8c5bc4b1f53f0c371312de3ce1av-Return an argument of a Z3_func_entry object. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga6fe03fe3c824fceb52766a4d8c2cbeabw&Convert the given model into a string.x Alias for w.yCreate a backtracking point.z Backtrack n backtracking points.{4Run a query and restore the initial logical context.This is a shorthand for y, run the query, and z.|Backtrack all the way.}"Get number of backtracking points.~-Assert a constraing into the logical context. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga1a05ff73a564ae7256a2257048a4680a Get model. Reference : nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#gaff310fef80ac8a82d0a51417e073ec0aDelete a model object. Reference: nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html#ga0cc98d3ce68047f873e119bccaabdbee=Check whether the given logical context is consistent or not.3Set the mode for converting expressions to strings.Convert an AST to a string.Convert a pattern to a string.Convert a sort to a string.Convert a FuncDecl to a string.Convert the solver to a string.:Convert the given benchmark into SMT-LIB formatted string.(The output format can be configured via .%Return Z3 version number information. Name of the sortName and sort of each fieldPResulting sort, and function declarations for the constructor and projections.     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~namelogicstatus attributes assumptions1formula !"#$%&'()*+,-./0123456789:;<=?@ABCDEFGH      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~43210/.-,+*)('&%$#"! GFEDCBAH@?5678=9<;:      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMSNOPQTURVWXYZ[\]^_`cabdefghijklmnopqrstuvwx~yz{|}      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~7(c) Iago Abal, 2012 (c) David Castro, 2012BSD3WIago Abal <iago.abal@gmail.com>, David Castro <david.castro.dcp@gmail.com> experimentalNone  !"+2346=BK Ordering comparisons.!Equality testing."Operations for sort real.#Operations for sort int.$Commutative ring operations.%Boolean variadic operations.&Boolean binary operations.' Z3 function( QuantifiersQuantifier pattern.Convertible types.)Quantifiable expressions. Expressions.*Quantifier layout level.+Unique identifiers.$Typeclass for Haskell Z3 numbers of real sort in Z3.$Typeclass for Haskell Z3 numbers of int sort in Z3.Numeric types.,Function types.Types for expressions.-5Type invariant. Introduced when creating a variable..Typecheck an expression./(Create a sort of the underlying Z3 type.0Create a value of the .1Value extractor2 Compilable things.P34567 89:;!<=">#?@A$BCD%EF&GHI'JK(LMN)OPQRSTUVWXYZ[\]^_*+,`a-./012bcdefgM45 89:;!<=">#?@A$BCD%EF&GHI'JK(LMN)OPQRSTUVWXYZ[\]^_*+,`a-./012bcdefg34567 ;:98!=<">#A@?$DCB%FE&IHG'KJ(MLN)O_^]\[ZYXWVUTSRQP*+,`a-./012bcdefg7(c) Iago Abal, 2012 (c) David Castro, 2012BSD3WIago Abal <iago.abal@gmail.com>, David Castro <david.castro.dcp@gmail.com> experimentalNone 246:BM Z3 monad.hInternal state of Z3 monad.the logic to use; see &http://smtlib.cs.uiowa.edu/logics.htmlsoft timeout (in milliseconds) Z3 optionsEval a Z3 script.Eval a Z3 script.iFresh symbol name.jhklmnoipqrstuvwxyz{|<h !"#$%&'()*+,-./012349/01klmnoirstuvwxyz{jhklmnoipqrstuvwxyz{|A(c) Iago Abal, 2012-2013 (c) David Castro, 2012-2013BSD3WIago Abal <iago.abal@gmail.com>, David Castro <david.castro.dcp@gmail.com> experimentalNone !"*+2346=BKM2#A computation derived from a model.}/Compile while introducing TCCs into the script.Declare skolem variables.4Declare skolem variables with a user specified name.*Declare uninterpreted function of arity 1.*Declare uninterpreted function of arity 2.*Declare uninterpreted function of arity 3.*Declare uninterpreted function of arity 4.*Declare uninterpreted function of arity 5.~Declare uninterpreted function"Make assertion in current context.>Introduce an auxiliary declaration to name a given expression.9If you really want sharing use this instead of Haskell's let.Convert an Expr to a string.9Check satisfiability and evaluate a model if some exists.9Check satisfiability and evaluate a model if some exists.LCheck satisfiability and evaluate a model if some exists, also returning a 9 to the reason for any failure.Show Z3's internal model.&Evaluate an expression within a model.4Evaluate a collection of expressions within a model.literal constructor.Boolean literals.Boolean literals.Boolean negationBoolean binary xor.Boolean implication An alias for .Boolean if and only if. An alias for .Boolean variadic and.Boolean variadic or.Boolean variadic distinct.Boolean binary and.Boolean binary or.Universally quantified formula.!Existentially quantified formula.Pattern-based instantiation. Casting between compatible typesInteger division.Integer modulo.Integer remainder. k  n == n %* k ==* 0Equals. Not equals.Less or equals than. Less than.Greater or equals than. Greater than.Minimum.Maximum. if-then-else.T}~_ !"#$%&'()*+,-./012349yz_943210/.-,+*)('&%$#"! yzQ}~7(c) Iago Abal, 2012 (c) David Castro, 2012BSD3WIago Abal <iago.abal@gmail.com>, David Castro <david.castro.dcp@gmail.com>None 24M3Ceiling logarithm base two. Axiomatization of the lg2: function. Most likely Z3 is going to diverge if you use lg2X to specify a satisfiable problem since it cannot construct a recursive definition for lg27, but it should work fine for unsatisfiable instances.7(c) Iago Abal, 2012 (c) David Castro, 2012BSD3WIago Abal <iago.abal@gmail.com>, David Castro <david.castro.dcp@gmail.com>None 24M0Raise to the power of 2. Axiomatization of the 2^n: function. Most likely Z3 is going to diverge if you use 2^nY to specify a satisfiable problem, since it cannot construct a recursive definition for 2^n7, but it should work fine for unsatisfiable instances.7(c) Iago Abal, 2012 (c) David Castro, 2012BSD3WIago Abal <iago.abal@gmail.com>, David Castro <david.castro.dcp@gmail.com>None  +246=BKM1This type allows to reason about natural numbers."Naturals are just integers plus a (>= 0)z invariant, and we ensure that this invariant is always preserved by transparently adding new assertions to the context.`Note that arithmetic on naturals must result in natural numbers, otherwise the problem becomes  unsatisfiable.  7(c) Iago Abal, 2012 (c) David Castro, 2012BSD3WIago Abal <iago.abal@gmail.com>, David Castro <david.castro.dcp@gmail.com> experimentalNone 24` !"#$%&'()*+,-./012349yz  !"#$$%&'()*+,-./0123456789:;<=>?@ABCDDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~    _`abcdefghijklmnopqrstuvwxyz{|}~  PO !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNK O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                S T                                  !"# $%&'(L)*L)+,-./0K1L2M3N4O5P6Q7R8S9T:U;V<W=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxvyz{|}~ Z[\VRQ oO5J  z3-0.3.2Z3.Lang.PreludeZ3.BaseZ3.OptsZ3.Monad Z3.Lang.Lg2 Z3.Lang.Pow2 Z3.Lang.Nat Z3.Lang.TY Z3.Base.CForeigntoBoolZ3LangMonad Z3.Lang.Exprs Z3.Lang.MonadZ3.LangVersionz3Majorz3Minorz3Build z3Revision Z3ErrorCode Z3Exception DecRefError InvalidUsage InternalFatalFileAccessError MemoutFailInvalidPatternNoParser ParserError InvalidArgIOB SortErrorZ3ErrorerrCodeerrMsg ASTPrintModeZ3_PRINT_SMTLIB2_COMPLIANTZ3_PRINT_SMTLIB_COMPLIANTZ3_PRINT_LOW_LEVELZ3_PRINT_SMTLIB_FULLLogicUFNIAUFLRAQF_UFNRAQF_UFLRAQF_UFLIAQF_UFIDLQF_UFBVQF_UFQF_RDLQF_NRAQF_NIAQF_LRAQF_LIAQF_IDLQF_BVQF_AX QF_AUFLIAQF_AUFBVQF_ABVLRAAUFNIRAAUFLIRAAUFLIA FuncModel interpMap interpElseResultUndefUnsatSatSolverParams FuncEntry FuncInterpModelPatternAppFuncDeclSortASTSymbolContextConfigmkConfig delConfig withConfig setParamValue mkContext delContext withContextcontextToString showContext mkIntSymbolmkStringSymbolmkUninterpretedSort mkBoolSort mkIntSort mkRealSortmkBvSort mkArraySort mkTupleSort mkFuncDeclmkAppmkConstmkTruemkFalsemkEq mkDistinctmkNotmkItemkIff mkImpliesmkXormkAndmkOrmkAddmkMulmkSub mkUnaryMinusmkDivmkModmkRemmkLtmkLemkGtmkGe mkInt2Real mkReal2IntmkIsIntmkBvnot mkBvredand mkBvredormkBvandmkBvormkBvxormkBvnandmkBvnormkBvxnormkBvnegmkBvaddmkBvsubmkBvmulmkBvudivmkBvsdivmkBvuremmkBvsremmkBvsmodmkBvultmkBvsltmkBvulemkBvslemkBvugemkBvsgemkBvugtmkBvsgtmkConcat mkExtract mkSignExt mkZeroExtmkRepeatmkBvshlmkBvlshrmkBvashr mkRotateLeft mkRotateRightmkExtRotateLeftmkExtRotateRightmkInt2bvmkBv2intmkBvaddNoOverflowmkBvaddNoUnderflowmkBvsubNoOverflowmkBvsubNoUnderflowmkBvsdivNoOverflowmkBvnegNoOverflowmkBvmulNoOverflowmkBvmulNoUnderflowmkSelectmkStore mkConstArraymkMapmkArrayDefault mkNumeralmkIntmkReal mkPatternmkBoundmkForallmkExists mkForallConst mkExistsConst getBvSortSizegetSortgetBoolgetIntgetRealtoAppevalevalTevalFunc evalArraygetAsArrayFuncDecl isAsArray getFuncInterpfuncInterpGetNumEntriesfuncInterpGetEntryfuncInterpGetElsefuncInterpGetArityfuncEntryGetValuefuncEntryGetNumArgsfuncEntryGetArg modelToString showModelpushpop assertCnstrgetModelcheckAndGetModeldelModelcheckmkParams paramsSetBool paramsSetUIntparamsSetDoubleparamsSetSymbolparamsToStringmkSolvermkSimpleSolvermkSolverForLogicsolverSetParams solverPush solverPop solverResetsolverGetNumScopessolverAssertCnstrsolverAssertAndTrack solverChecksolverGetModelsolverCheckAndGetModelsolverGetReasonUnknownsolverToStringsetASTPrintMode astToStringpatternToString sortToStringfuncDeclToStringbenchmarkToSMTLibString getVersionOptValueOptsstdOpts+?optsetOptsZ3EnvMonadZ3 getSolver getContext evalZ3WithevalZ3newEnvdelEnv evalZ3WithEnvlocalreset getNumScopes withModelPatCastableExprIsRealIsIntIsNumIsTyArgslogic softTimeoutoptionsstdArgsvarnamedVarfun1fun2fun3fun4fun5assertlet_ exprToString checkModelcheckModelWithcheckModelWithResultliteraltruefalsenot_xorimplies==>iff<=>and_or_distinct&&*||*forallexists instanceWhencast//%*%%divides==*/=*<=*<*>=*>*min_max_ite declareLg2 declarePow2NatTYbaseGHC.Err undefined Z3_error_codeZ3_ast_print_mode Z3_stringZ3_error_handlerZ3_boolZ3_lboolz3_get_versionz3_get_error_msg_exz3_get_error_msg z3_set_errorz3_set_error_handlerz3_get_error_codez3_benchmark_to_smtlib_stringz3_func_decl_to_stringz3_sort_to_stringz3_pattern_to_stringz3_ast_to_stringz3_set_ast_print_modez3_solver_to_stringz3_solver_get_reason_unknownz3_solver_get_modelz3_solver_checkz3_solver_assert_and_trackz3_solver_assertz3_solver_resetz3_solver_get_num_scopes z3_solver_popz3_solver_pushz3_solver_dec_refz3_solver_inc_refz3_solver_set_paramsz3_mk_solver_for_logicz3_mk_simple_solver z3_mk_solverz3_params_to_stringz3_params_set_symbolz3_params_set_doublez3_params_set_uintz3_params_set_boolz3_params_dec_refz3_params_inc_ref z3_mk_paramsz3_context_to_stringz3_model_to_string z3_del_modelz3_checkz3_check_and_get_modelz3_assert_cnstrz3_popz3_pushz3_func_entry_get_argz3_func_entry_get_num_argsz3_func_entry_get_valuez3_func_interp_get_arityz3_func_interp_get_elsez3_func_interp_get_entryz3_func_interp_get_num_entriesz3_model_get_func_interpz3_get_as_array_func_declz3_is_as_arrayz3_eval z3_to_appz3_get_numeral_stringz3_get_bool_value z3_get_sortz3_get_bv_sort_sizez3_mk_exists_constz3_mk_forall_const z3_mk_exists z3_mk_forall z3_mk_bound z3_mk_patternz3_mk_unsigned_int64 z3_mk_int64z3_mk_unsigned_int z3_mk_int z3_mk_real z3_mk_numeralz3_mk_array_default z3_mk_mapz3_mk_const_array z3_mk_store z3_mk_selectz3_mk_bvmul_no_underflowz3_mk_bvmul_no_overflowz3_mk_bvneg_no_overflowz3_mk_bvsdiv_no_overflowz3_mk_bvsub_no_underflowz3_mk_bvsub_no_overflowz3_mk_bvadd_no_underflowz3_mk_bvadd_no_overflow z3_mk_bv2int z3_mk_int2bvz3_mk_ext_rotate_rightz3_mk_ext_rotate_leftz3_mk_rotate_rightz3_mk_rotate_left z3_mk_bvashr z3_mk_bvlshr z3_mk_bvshl z3_mk_repeatz3_mk_zero_extz3_mk_sign_ext z3_mk_extract z3_mk_concat z3_mk_bvsgt z3_mk_bvugt z3_mk_bvsge z3_mk_bvuge z3_mk_bvsle z3_mk_bvule z3_mk_bvslt z3_mk_bvult z3_mk_bvsmod z3_mk_bvsrem z3_mk_bvurem z3_mk_bvsdiv z3_mk_bvudiv z3_mk_bvmul z3_mk_bvsub z3_mk_bvadd z3_mk_bvneg z3_mk_bvxnor z3_mk_bvnor z3_mk_bvnand z3_mk_bvxor z3_mk_bvor z3_mk_bvand z3_mk_bvredorz3_mk_bvredand z3_mk_bvnot z3_mk_is_intz3_mk_real2intz3_mk_int2realz3_mk_gez3_mk_gtz3_mk_lez3_mk_lt z3_mk_rem z3_mk_mod z3_mk_divz3_mk_unary_minus z3_mk_sub z3_mk_mul z3_mk_addz3_mk_or z3_mk_and z3_mk_xor z3_mk_implies z3_mk_iff z3_mk_ite z3_mk_notz3_mk_distinctz3_mk_eq z3_mk_false z3_mk_true z3_mk_const z3_mk_appz3_mk_func_declz3_mk_tuple_sortz3_mk_array_sort z3_mk_bv_sortz3_mk_real_sortz3_mk_int_sortz3_mk_bool_sortz3_mk_uninterpreted_sortz3_mk_string_symbolz3_mk_int_symbolz3_del_context z3_mk_contextz3_set_param_valuez3_truez3_falsez3_invalid_usage z3_exception Z3_params Z3_solver Z3_func_entryZ3_func_interpZ3_model Z3_patternZ3_app Z3_func_declZ3_sortZ3_ast Z3_symbol Z3_context Z3_config z3_del_config z3_mk_config z3_l_true z3_l_false z3_l_undefz3_print_smtlib_fullz3_print_low_levelz3_print_smtlib_compliantz3_print_smtlib2_compliantz3_ok z3_sort_errorz3_iobz3_invalid_argz3_parser_error z3_no_parserz3_invalid_patternz3_memout_failz3_file_access_errorz3_internal_fatalz3_dec_ref_error castLBoolgetNumeralStringz3Error checkErrortoResultghc-prim GHC.TypesBoolunBool ptrToMaybe Data.MaybeJustNothingMarshalc2hh2cMkZ3QuantifierConstMkZ3Quantifier _unSolverunParams unFuncEntry unFuncInterpunModel unPatternunApp unFuncDeclunSortunASTunSymbol unContextunConfigmkIntZ3mkUnsignedIntZ3 mkInt64Z3mkUnsignedInt64Z3 mkInt_IntZ3mkInt_UnsignedIntZ3 mkInt_Int64Z3mkInt_UnsignedInt64Z3mkRealZ3 mkReal_IntZ3mkReal_UnsignedIntZ3mkReal_Int64Z3mkReal_UnsignedInt64Z3 marshalMkQmarshalMkQConstgetMapFromInterpgetEntry getEntryArgsmkSolverForeign toZ3Error withSolverPtr withIntegral marshalArraymarshalArrayLenliftAstNhs2csmarshalliftFun0liftFun1liftFun2liftFun3$fMarshalSolverPtr$fMarshalPatternPtr$fMarshalModelPtr$fMarshalFuncInterpPtr$fMarshalFuncEntryPtr$fMarshalFuncDeclPtr$fMarshalSortPtr$fMarshalASTPtr$fMarshalSymbolPtr$fMarshalParamsPtr$fMarshalAppPtr$fMarshal[]Ptr$fMarshalDoubleCDouble$fMarshalhCULLong$fMarshalhCLLong$fMarshalhCUInt$fMarshalhCInt$fMarshalResultZ3_lbool$fMarshalBoolZ3_bool $fMarshal()()$fMarshalMaybePtr $fShowVersion$fExceptionZ3Error $fShowZ3Error $fShowLogicOptsetOptoption singletonboolVal $fOptValue[]$fOptValueDouble$fOptValueInteger $fOptValueInt$fOptValueBool $fMonoidOpts envSolver envContext_unZ3 liftScalarliftFun4liftFun6 liftSolver0 liftSolver1 $fMonadZ3Z3CmpOpICmpOpERealOpIntOpCRingOp BoolMultiOp BoolBinOpFunApp QuantifierQExprLayoutUniqIsFuntypeInvtcmkSort mkLiteralgetValue CompilableTCCTCMunTCMGtGeLtLeDistinctEqDivRemModQuotSubMulAddOrAndIffImpliesXorPAppExistsForAll compileCast compileQuantCastIteCmpICmpE RealArithIntArith CRingArithNegQuant BoolMultiBoolBinNotTagConstLitdomainrangecompileokwithHyponewTCCevalTCM typecheckZ3StatefreshuniqValcontextsolverqLayoutsetArgs getQLayout deBruijnIx newQLayout mkBoolBin mkBoolMultimkQuantmkCmp mkCRingArith mkIntArith mkRealArithcompileWithTCCfunDeclQBody createVartcBool compileBoolwithSortedSymbol tcIntegercompileInteger tcRationalcompileRationalapp2AST$fCompilablePattern$fCompilableFunApp $fIsFun(->) $fIsFun(->)0 $fIsRealRatio $fIsNumRatio $fIsTyRatio$fCompilableExpr$fIsIntInteger$fIsNumInteger $fIsTyInteger$fCompilableExpr0 $fQExpr(->) $fQExpr(->)0 $fQExpr(->)1 $fIsTyBool$fCompilableExpr1$fCastableRatioInteger$fCastableIntegerRatio$fFractionalExpr $fNumExprunNattcNat compileNat$fCastableNatInteger $fIsIntNat $fIsNumNat $fIsTyNat $fIntegralNat$fNumNat $fShowNat