EyeProlog
EyeProlog将便携式ISO Prolog程序转换为答案和可检查的证明。
单个实现引用是 视觉的艺术。 它记录了语言,内置,库,命令行,JavaScript API, 示例、证明、一致性概要文件和实现。
20年的EYE,接下来的20年
欧拉项目始于2001年,并于2006年成为基于prolog的推理器EYE;它在2026年还活着。EYE以一种象征性的方式纪念一只眼睛失明的莱昂哈德·欧拉。视网膜项目始于2021年,并于2026年成为EyeProlog;我们希望在接下来的二十年里保持增长。这种延续让人想起了欧拉,他后来失去了另一只眼睛,而这个项目一直试图通过逻辑、证明和推理看得更远。
快速启动
EyeProlog需要Node.js 18或更新版本:
node --version
如有必要,请通过Node版本管理器或 官方Node.js下载。
运行EyeProlog而不全局安装:
npx --yes eyeprolog
?- member(X, [prolog, logic]).
X = prolog
; X = logic.
?- halt.
对于一个持久化命令,使用一个用户自定义的npm前缀:
npm install --global --prefix "$HOME/.local" eyeprolog
export PATH="$HOME/.local/bin:$PATH"
eyeprolog
添加 PATH 导出到shell启动文件。不要使用 sudo npm install;
npm的 EACCES指导
还建议使用Node版本管理器或用户拥有的前缀。
非交互式地运行程序:
printf 'human(socrates).\nmortal(X) :- human(X).\n' |
npx --yes eyeprolog --proof --goal 'mortal(socrates)' -
或者将答案以对话的形式播放出来,让验证检查者作为对手:
printf 'human(socrates).\nmortal(X) :- human(X).\n' |
npx --yes eyeprolog --dialogue --goal 'mortal(socrates)' -
链接
- 视觉的艺术 -完整参考
- 为什么EyeProlog ? -项目范围和设计
- ARC在EyeProlog -答案,理由,检查
- SPEC.md -答案,证明和检查格式,以及证明检查建立的C1-C7七个条件
- 操场上 —在浏览器中运行EyeProlog
- 例子 -可运行程序和检查输出
- 例子甲板 -可解释的RDF/Prolog场景与可复制的往返
- EyeProlog简介 -为初次观众准备的简短演示
- 共生知识图 - RDF↔人类/AI/KG共同进化的Prolog热浪响应演示
- rdf-interchange - standalone RDF 1.2↔RDF示例使用的ISO Prolog桥
- RDF和Prolog:两个基于标准的分支 -为什么W3C RDF和ISO Prolog是基础
- ISO符合性审查 -支持第1部分配置文件
- 最新的neuerkel一致性 -跟踪当前上游库存的结果
- 一致性报告 -生成的可执行一致性状态,本地语料库摘要,以及已知偏差
- OpenRuleBench -便携式基准配置文件
RDF、Prolog和共生知识图
EyeProlog可以隐藏在RDF知识图之后,而无需发明私有的图表示。 rdf-interchange 将RDF 1.2数据集转换为普通数据集 rdf(Subject, Predicate, Object, Graph) 事实,EyeProlog应用可移植的规则和基础 rdf/4 结果可以转换回RDF。
的检查 共生知识图的例子 使用命名图和RDF 1.2三重术语来区分可信知识、人工智能建议的语句和人工审阅。它的 广大读者的同伴 解释了为什么这是人类/AI/KG共同进化的一个有用的软件模型:RDF提供共享的语义记忆,Prolog提供明确的审议,AI提供新的假设,而人们仍然是意义和判断的参与者。
相同的RDF→Prolog→RDF边界由五个额外的检查场景执行: 跨组织数据共享, 可解释的EV-depot配置, 运营事件响应, 软件供应链漏洞响应,和 科学证据图. 它们一起涵盖了策略决策、可逆配置推理、依赖图诊断、可传递的SBOM公开和明显不一致的证据聚合。
表演
EyeProlog没有单独的挂钟基准测试套件。 npm test在数千个一致性、回归和示例程序中运行的运行时间是粗略的性能指标——在那里显示了真正的减速。 OpenRuleBench 仍然是专门针对Datalog规则引擎配置文件的经过检查的正确性和规模基准。
有关后iso标准和WG17兼容性特性(如数字分隔符)的项目策略,请参见 ISO/WG17兼容性扩展。
发展
git clone https://github.com/eyereasoner/eyeprolog.git
cd eyeprolog
npm install
npm test
npm命令列表故意设置得很小:
npm test(或npm run test):运行发布闸门,包括实时的上游符合性检查(其中包括WG17语法)。npm run neumerkel:重新获取上游neuerkel一致性源,如果跟踪的报告不再与它们匹配,则失败。释放门将漂移报告为警告;这个命令会导致错误,所以它会自己回答“我们还在运行吗?”
使用 npm test -- --offline 用于无网络的本地通行证(这也会跳过实时发现的WG17语法检查,因为它没有脱机快照)。例如,集中检查仍然是直接可用的 node test/run-regression.mjs docs;看到 测试运行. 自动版本挂钩重新构建生成的库和图书文件,运行发布闸门,刷新和执行一致性报告,并推送发布。详细的上游报告维护记录在 一致性指导。
EyeProlog是在 麻省理工学院的许可。