Re: Picking up justifications in Java-ish implementation
Hans Chalupsky <[email protected]> Wed, 23 Aug 2017 12:43:37 -0700
| Newsgroups | gmane.comp.ai.powerloom |
|---|---|
| Message-ID | <[email protected]> |
SGkgUGllcnJlLAoKbm8gd29ycmllcywgdGhlIG9mZmljaWFsIFBvd2VyTG9vbSBBUEkgaW4gdGhl IFBMSSBwYWNrYWdlIGRvZXNuJ3QgeWV0IApoYXZlIHN1cHBvcnQgZm9yIGFjY2Vzc2luZyBqdXN0 aWZpY2F0aW9ucyBhbmQgZXhwbGFuYXRpb25zLCBzbyB0aGF0J3MgCnRoZSBtYWluIHJlYXNvbiB5 b3UgYXJlIHN0cnVnZ2xpbmcgSSB0aGluaywgc2luY2UgdGhlIGZ1bmN0aW9ucyB5b3UgYXJlIApk ZWFsaW5nIHdpdGggYXJlIGZyb20gYSBTVEVMTEEtbGV2ZWwgQVBJIHdoaWNoIGlzbid0IG5lY2Vz c2FyaWx5IGVhc3kgb3IgCm5hdHVyYWwgdG8gY2FsbCBmcm9tIEphdmEuCgpJIGFtIGd1ZXNzaW5n IHRoYXQgd2hlbiB5b3Ugc2F5IHlvdSB3YW50IHRvICJjYXRjaCB3aHkncyIgeW91IHdhbnQgdG8g CmdldCB0aGUgZXhwbGFuYXRpb25zIGFzIGEgc3RyaW5nIHNvIHlvdSBjYW4gZGlzcGxheSB0aGVt LgpCZWxvdyBJIGFtIHNob3dpbmcgeW91IHNvbWUgTGlzcC1sZXZlbCB0cmFjZSB0byBleHBsYWlu IHdoYXQncyBnb2luZyBvbiAKd2hpY2ggZW5kcyB3aXRoIHNvbWUgSmF2YSBjb2RlIHRoYXQgeW91 IHNob3VsZCBiZSBhYmxlIHRvIGNhbGxmcm9tIGNsb2p1cmU6Cgo7OzsgZmlyc3Qgd2UgcnVuIGEg c2ltcGxlIHF1ZXJ5IHdpdGgganVzdGlmaWNhdGlvbnMgc28gd2UgY2FuIGdldCBhbiAKZXhwbGFu YXRpb246ClNURUxMQSg0KTogKHNldC1mZWF0dXJlIGp1c3RpZmljYXRpb25zKQp8bHwoOkpVU1RJ RklDQVRJT05TIDpFTUlULVRISU5LSU5HLURPVFMgOkpVU1QtSU4tVElNRS1JTkZFUkVOQ0UpClNU RUxMQSg1KTogKHJldHJpZXZlIChyZWxhdGlvbiA/eCkpClRoZXJlIGlzIDEgc29sdXRpb24gc28g ZmFyOgojMTogP1g9L1RJTUVQT0lOVC1LQi9DVVJSRU5ULVRJTUUKCjs7OyB0byBnZXQgdGhlIHRv cC1sZXZlbCBqdXN0aWZpY2F0aW9uIG9mIHRoZSBtb3N0IHJlY2VudCBxdWVyeSAKc29sdXRpb24s IHlvdSBjYW4gdXNlICdnZXQtd2h5LWp1c3RpZmljYXRpb24nIHdoaWNoIGlzIGhlcmUgY2FsbGVk Cjs7OyBhcyBhIExpc3AgZnVuY3Rpb24gaW4gdGhlIFNURUxMQSBwYWNrYWdlICh0aGlzIGZ1bmN0 aW9uIGlzIGNhbGxlZCAKaW50ZXJuYWxseWJ5ICdleHBsYWluLXdoeScpOgpTVEVMTEEoNik6IChn ZXQtd2h5LWp1c3RpZmljYXRpb24gIjEiKQp8aXxASlVTVElGSUNBVElPTgpTVEVMTEEoNyk6Cgo7 OzsgJ2V4cGxhaW4td2h5JyBwcmludHMgYW4gZXhwbGFuYXRpb24gc3RhcnRpbmcgYXQgYSBsYWJl bCB0byBhIHN0cmVhbSwgCmJ1dCB0aGF0IGhhcyB0byBiZSBhIFNURUxMQSBzdHJlYW0gYW5kIGNh bid0IGJlIGEgbmF0aXZlIEphdmEgb3IgY2xvanVyZSAKc3RyZWFtOgpTVEVMTEEoNyk6IChleHBs YWluLXdoeSAiMSIgbnVsbCAxMCBzdGFuZGFyZC1vdXRwdXQpCjEgKFJFTEFUSU9OIC9USU1FUE9J TlQtS0IvQ1VSUkVOVC1USU1FKQogwqDCoMKgIGZvbGxvd3MgYnkgZXhwbGljaXQgYXNzZXJ0aW9u Cgp8a3Z8KDx8aXxAUFJJTUlUSVZFLVNUUkFURUdZLHxpfEBFWFBMQU5BVElPTi1JTkZPPikKU1RF TExBKDgpOgoKOzs7IHRvIHByaW50IHRvIGEgc3RyaW5nLCB5b3UgbmVlZCB0byBjcmVhdGUgYSBT VEVMTEEgc3RyaW5nIHN0cmVhbSAKd2hpY2ggSSdsbCBkbyBoZXJlIGluIGEgY291cGxlIG9mIExp c3Agc3RhdGVtZW50cyB0aGF0IGNhbGwgU1RFTExBIApjb2RlLsKgIFRoZSAnZXZhbCcKOzs7IGhl cmUgaXMgYSBzcGVjaWFsIFNURUxMQSBldmFsIHdoaWNoIHRyYW5zbGF0ZXMgU1RFTExBIGNvZGUg dG8gTGlzcCAKYW5kIHRoZW4gZXhlY3V0ZXMgdGhlIHRyYW5zbGF0aW9uOgpTVEVMTEEoOCk6IChz ZXRxIHN0cm91dCAoZXZhbCAobmV3IHN0cmluZy1vdXRwdXQtc3RyZWFtKSkpCnxpfEBPVVRQVVQt U1RSSU5HLVNUUkVBTQpTVEVMTEEoOSk6ClNURUxMQSg5KTogKGV4cGxhaW4td2h5ICIxIiBudWxs IDEwIHN0cm91dCkKfGt2fCg8fGl8QFBSSU1JVElWRS1TVFJBVEVHWSx8aXxARVhQTEFOQVRJT04t SU5GTz4pClNURUxMQSgxMCk6Cgo7OzsgdG8gZ2V0IHRvIHRoZSBhY3R1YWwgc3RyaW5nIHlvdSBu ZWVkIHRoZSAndGhlLXN0cmluZycgYWNjZXNzb3Igd2hpY2ggCmlzIGRvbmUgaGVyZSBpbiBhIGJp dCBvZiBMaXNwL1NURUxMQSBtYWdpYzoKU1RFTExBKDEyKTogKGV2YWwgKHRoZS1zdHJpbmcgKGNh c3QgKGNsdiBzdHJvdXQpIHN0cmluZy1vdXRwdXQtc3RyZWFtKSkpCiIxIChSRUxBVElPTiAvVElN RVBPSU5ULUtCL0NVUlJFTlQtVElNRSkKIMKgwqDCoCBmb2xsb3dzIGJ5IGV4cGxpY2l0IGFzc2Vy dGlvbgoKIgoKOzs7IE5vdyBoZXJlIGlzIHdoYXQgdGhhdCB3b3VsZCBsb29rIGxpa2UgaW4gSmF2 YToganB0cmFucyB0YWtlcyB0aGUgClNURUxMQSBjb2RlIGFuZCB0cmFuc2xhdGVzIGl0IGludG8g SmF2YSB3aGljaCB5b3Ugc2hvdWxkCjs7OyBiZSBhYmxlIHRvIGNhbGwgaW4gY2xvanVyZSBzb21l aG93OgoKU1RFTExBKDEzKTogKGpwdHJhbnMgKGxldCAoKHN0cm91dCAobmV3IHN0cmluZy1vdXRw dXQtc3RyZWFtKSkpCiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCAoZXhwbGFpbi13aHkgIjEiIG51bGwgMTAgc3Ryb3V0KQogwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKHByaW50ICh0aGUtc3RyaW5nIHN0cm91dCkgRU9MKSkp CnsgT3V0cHV0U3RyaW5nU3RyZWFtIHN0cm91dCA9IE91dHB1dFN0cmluZ1N0cmVhbS5uZXdPdXRw dXRTdHJpbmdTdHJlYW0oKTsKCiDCoCBMb2dpYy5leHBsYWluV2h5KCIxIiwgbnVsbCwgMTAsIHN0 cm91dCk7ClN0ZWxsYS5TVEFOREFSRF9PVVRQVVQubmF0aXZlU3RyZWFtLnByaW50bG4oc3Ryb3V0 LnRoZVN0cmluZ1JlYWRlcigpKTsKfQo6Vk9JRApTVEVMTEEoMTQpOgoKTGV0IG1lIGtub3cgaWYg dGhpcyB3b3JrcyBvciBpZiB5b3UgbmVlZCBtb3JlIGhlbHAsIHlvdSBjYW4gc2VuZCBtZSBtYWls IApkaXJlY3RseSwgeW91IGRvbid0IGhhdmUgdG8gZ28gdGhyb3VnaCB0aGUgbGlzdC4KCkhlcmUg YXJlIHNvbWUgbW9yZSBjb21tZW50cyBpbi1saW5lIG9uIHNvbWUgb2YgeW91ciBzdHJ1Z2dsZXM6 CgpPbiAwOC8yMy8yMDE3IDA4OjE4IEFNLCBQaWVycmUgR3Jlbm9uIHdyb3RlOgo+IC4uLi4uLi4u Li4uLi4KPiBJJ20gc3R1cmdnbGluZyBmaWd1cmluZyBvdXQgaG93IHRvIGNsb25lIHRoZSBTdGVs bGEgZXhwbGFpbi13aHkKPiBiZWNhdXNlIGl0IGxvb2tzIGxpa2UgSSdtIG1lc3NpbmcgdXAgZWl0 aGVyIHRoZSBvdXRwdXQgb3IgdGhlCj4gbWFwcGluZy4uLiBJdCdzIG5vdCBoYXBweSB3aXRoIExv Z2ljLyRNT1NUX1JFQ0VOVF9FWFBMQU5BVElPTl9NQVBQSU5HJAo+IGFzIHRoZXJlJ3MgYSBjbGFz cyBtaXNtYXRjaDoKPgo+IENsYXNzQ2FzdEV4Y2VwdGlvbiBlZHUuaXNpLnN0ZWxsYS5qYXZhbGli LlN0ZWxsYVNwZWNpYWxWYXJpYWJsZSBjYW5ub3QKPiBiZSBjYXN0IHRvIGVkdS5pc2kuc3RlbGxh LktleVZhbHVlTGlzdAoKU3RlbGxhU3BlY2lhbFZhcmlhYmxlJ3MgZW11bGF0ZSBMaXNwIHNwZWNp YWxzLCB5b3UgaGF2ZSB0byB1c2UgdGhlICdnZXQnIGFjY2Vzc29yIHRvIGdldCB0byB0aGUgdmFs dWUgdmlzaWJsZSBpbiB0aGUgY3VycmVudCBzY29wZSwgYW5kIHlvdSBoYXZlIHRvIGNhc3QgdG8g dGhlIGV4cGVjdGVkIHR5cGUsIGZvciBleGFtcGxlOgoKCShLZXlWYWx1ZUxpc3QpTG9naWMuJE1P U1RfUkVDRU5UX0VYUExBTkFUSU9OX01BUFBJTkckLmdldCgpCgo+IEJ1dCBtYXliZSB0cnlpbmcg dG8gdXNlIEp1c3RpZmljYXRpb24vcHJpbnRFeHBsYW5hdGlvbiBpc24ndCB0aGUgdGhpbmcgdG8g ZG8/Cj4KPiBJIGdldCBhbGwgdGhpcyB0cm91YmxlIGJlY2F1c2UgSSBjYW4ndCBydW4gJ3doeScg dGhyb3VnaCBjbG9qdXJlJ3MKPiB3aXRoLW91dC1zdHIgYXMgSSB3b24ndCBjYXRjaCBzaWRlIGVm ZmVjdHMgdGhhdCB3YXkuCkJlY2F1c2UgdGhlIG91dHB1dCBnb2VzIHRvIGEgU1RFTExBIHN0cmVh bSAtIHNlZSBhYm92ZS4KPiBJdCBzb21ldGltZXMgaGFwcGVuIHRoYXQgeW91IGd1eXMgY2FuIHBp bnBvaW50IHRoZSByaWdodCBjb21tYW5kIG9uCj4gdG9wIG9mIHlvdXIgaGVhZCBzbyBJJ20ganVz dCBhc2tpbmcgYSBiaXQgbW9yZSBzcGVjaWZpY2FsbHkgdGhhbiBpbgo+IHRoZSBlYXJsaWVyIG1l c3NhZ2UuCj4KPiBCZXN0LAo+IFBpZXJyZQo+Cj4KPiBPbiBXZWQsIEF1ZyAyMywgMjAxNyBhdCAx OjIwIFBNLCBQaWVycmUgR3Jlbm9uIDxwaWVycmVncmVub25AZ21haWwuY29tPiB3cm90ZToKPj4g Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KPj4KPj4gRXhoaWJpdCBBOiBodHRwczovL3d3dy5pc2ku ZWR1L2lzZC9MT09NL1Bvd2VyTG9vbS9kb2N1bWVudGF0aW9uL21hbnVhbC9tYW51YWxfMTEuaHRt bAo+Pgo+PiBleHBsYWluLXdoeSAoKGxhYmVsIFNUUklORykgKHN0eWxlIEtFWVdPUkQpIChtYXhk ZXB0aCBJTlRFR0VSKSAoc3RyZWFtCj4+IE9VVFBVVC1TVFJFQU0pKQo+PiBnZXQtd2h5LWp1c3Rp ZmljYXRpb24gKChsYWJlbCBTVFJJTkcpKSA6IEpVU1RJRklDQVRJT04KPj4KPj4gYW5kIEkgdGhp bmsgdGhlIGFyZ3VtZW50cyBlc2NhcGUgbWUgYXMgSSBnZXQ6Cj4+Cj4+IEV2YWx1YXRpb25FeGNl cHRpb24gV2hpbGUgZXZhbHVhdGluZyAnKEVYUExBSU4tV0hZKSc6Cj4+IFVuZGVmaW5lZCBvcGVy YXRvcjogYEVYUExBSU4tV0hZJwo+PiBlZHUuaXNpLnN0ZWxsYS5Db25zLmV2YWx1YXRlQ29uc1Ry ZWUgKENvbnMuamF2YTo4NDc0KQpZb3UgY2FuIG9ubHkgdXNlIHRoZSBTVEVMTEEgJ2V2YWx1YXRl JyBvbiBmdW5jdGlvbnMgdGhhdCBhcmUgbWFya2VkIGFzIGEgCidjb21tYW5kJyAoU1RFTExBJ3Mg ZXZhbHVhdG9yIGlzIG9ubHkgYSB2ZXJ5IHBhcnRpYWwgZXZhbHVhdG9yLCBpdCBkb2VzIApub3Qg c3VwcG9ydCB0aGUgZnVsbCBTVEVMTEEgbGFuZ3VhZ2UpLsKgICd3aHknIGlzIGEgY29tbWFuZCB3 aGljaCBpcyB3aHkgCml0IGNhbiBiZSBjYWxsZWQgdmlhICdldmFsdWF0ZScsICdleHBsYWluLXdo eScgaXMgbm90LCBoZW5jZSB0aGUgZXJyb3IuCgpOb3RlIHRoYXQgdGhlcmUgaXMgYWxzbyBhIGJ1 aWx0LWluIEhUTUwgZm9ybWF0IGZvciBleHBsYW5hdGlvbnMgdGhhdCB5b3UgCmNvdWxkIHVzZS7C oCBZb3UgY2FuIGFjY2VzcyB0aGF0IGJ5IHNldHRpbmcgdGhlICcqZXhwbGFuYXRpb24tZm9ybWF0 KicgCnZhcmlhYmxlIHdoaWNoIGlzIGFsc28gYSBzcGVjaWFsLsKgIEZvciBleGFtcGxlIChmaXJz dCBpbiBMaXNwKToKClNURUxMQSgxNyk6IChldmFsIChzZXRxICpleHBsYW5hdGlvbi1mb3JtYXQq IDpIVE1MKSkKOkhUTUwKU1RFTExBKDE4KTogKGV4cGxhaW4td2h5ICIxIiBudWxsIDEwIHN0YW5k YXJkLW91dHB1dCkKPFRBQkxFPjxUUj4KPFREIGFsaWduPWxlZnQgdmFsaWduPXRvcD48U1RST05H PjEmbmJzcDs8L1NUUk9ORz48L1REPgogwqA8VEQgYWxpZ249bGVmdCB2YWxpZ249dG9wPihSRUxB VElPTiAvVElNRVBPSU5ULUtCL0NVUlJFTlQtVElNRSkKPEJSPgpmb2xsb3dzIGJ5IGV4cGxpY2l0 IGFzc2VydGlvbgo8VEFCTEU+CjwvVEFCTEU+CjwvVEQ+PC9UUj4KPC9UQUJMRT4KfGt2fCg8fGl8 QFBSSU1JVElWRS1TVFJBVEVHWSx8aXxARVhQTEFOQVRJT04tSU5GTz4pClNURUxMQSgxOSk6Cgo7 OzsgSGVyZSBpcyB3aGF0IHRoZSBKYXZhIGNvZGUgd291bGQgbG9vayBsaWtlIC0gc29ycnkgdGhp cyBpcyBhIGJpdCAKbWVzc3ksIHlvdSBjYW4gYXZvaWQgdGhlIG9sZC12YWx1ZSByZXNldCBhbmQg dHJ5L2ZpbmFsbHkgaWYgeW91IHNpbXBseSAKY2hhbmdlIHRoZSB0b3AtbGV2ZWwgdmFsdWUgb2YK TG9naWMuJEVYUExBTkFUSU9OX0ZPUk1BVCQ6CgpTVEVMTEEoMTkpOiAoanB0cmFucyAobGV0ICgo c3Ryb3V0IChuZXcgc3RyaW5nLW91dHB1dC1zdHJlYW0pKSkKIMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChzcGVjaWFsICgoKmV4cGxhbmF0aW9uLWZvcm1hdCog KGludGVybi1rZXl3b3JkIAoiSFRNTCIpKSkKIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCAoZXhwbGFpbi13aHkgIjEiIG51bGwgMTAgc3Ryb3V0KQogwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChwcmludCAodGhl LXN0cmluZyBzdHJvdXQpIEVPTCkpKSkKeyBPdXRwdXRTdHJpbmdTdHJlYW0gc3Ryb3V0ID0gT3V0 cHV0U3RyaW5nU3RyZWFtLm5ld091dHB1dFN0cmluZ1N0cmVhbSgpOwoKIMKgIHsgT2JqZWN0IG9s ZCRFeHBsYW5hdGlvbkZvcm1hdCQwMDggPSBMb2dpYy4kRVhQTEFOQVRJT05fRk9STUFUJC5nZXQo KTsKCiDCoMKgwqAgdHJ5IHsKIMKgwqDCoMKgwqAgTmF0aXZlLnNldFNwZWNpYWwoTG9naWMuJEVY UExBTkFUSU9OX0ZPUk1BVCQsIApTdGVsbGEuaW50ZXJuS2V5d29yZCgiSFRNTCIpKTsKIMKgwqDC oMKgwqAgTG9naWMuZXhwbGFpbldoeSgiMSIsIG51bGwsIDEwLCBzdHJvdXQpOwpTdGVsbGEuU1RB TkRBUkRfT1VUUFVULm5hdGl2ZVN0cmVhbS5wcmludGxuKHN0cm91dC50aGVTdHJpbmdSZWFkZXIo KSk7CgogwqDCoMKgIH0gZmluYWxseSB7CkxvZ2ljLiRFWFBMQU5BVElPTl9GT1JNQVQkLnNldChv bGQkRXhwbGFuYXRpb25Gb3JtYXQkMDA4KTsKIMKgwqDCoCB9CiDCoCB9Cn0KOlZPSUQKU1RFTExB KDIwKToKCkhvcGUgdGhhdCBoZWxwcywKCkhhbnMKCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpwb3dlcmxvb20tZm9ydW0gbWFpbGluZyBsaXN0CnBvd2Vy bG9vbS1mb3J1bUBpc2kuZWR1Cmh0dHA6Ly9tYWlsbWFuLmlzaS5lZHUvbWFpbG1hbi9saXN0aW5m by9wb3dlcmxvb20tZm9ydW0K