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