在 Prolog 中断言数字谓词

2024-01-03

Prolog 中是否有可能断言代表数字的事实? 例如,我想使用谓词distance/2并断言诸如distance(town1, city2) = 1200.


The distance(town1, city2) = 1200term 是该术语的语法糖'='(distance(town1, city2), 1200) as (=)/2是一个标准的 Prolog 中缀运算符。(=)/2也是标准统一内置谓词。在大多数 Prolog 系统中,内置谓词不能由用户重新定义。因此,您不能为它们断言子句,因为这相当于重新定义谓词。卡洛的建议是使用distance/3谓词可能是最好的解决方案。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Prolog 中断言数字谓词 的相关文章

  • 从序言中的列表中过滤掉大量数字

    我想编写一个函数 通过删除所有小于或等于特定数字的内容来过滤数字列表 该函数将采用两个参数 数字列表和要过滤的数字 该函数应返回一个列表 其中包含大于过滤器编号的所有数字 有时像这样 filter num list L1 N L2 test
  • 如何确定矩阵的所有给定坐标都是相连的?

    给定一个网格 我如何确定网格的元素是否都在单个区域中 在下面的情况下是正确的 因为矩阵中的每个元素都有一个邻居 示例1 gridneighbours 1 1 1 2 1 3 2 1 2 2 2 3 3 1 4 1 4 2 true 然而在我
  • Prolog:覆盖谓词和使用它之间的区别

    我觉得自己真的很愚蠢 感觉自己错过了一些东西 我基本上有两个文件 module pl通用逻辑规则 可重用 state pl一个针对当前场景 在模块文件中 module pl 我已经声明 inside Food Eater T isTime
  • Prolog 时间重叠问题

    假设我有这个知识库 free ann slot time 8 0 time 9 0 free ann slot time 10 0 time 11 0 free bob slot time 7 0 time 8 30 free bob sl
  • 如何在 SWI-Prolog 中创建事实?

    我只想创建类似的东西 like x y 我已经尝试了很长时间了 真的很沮丧 谁能告诉我该怎么做 我假设您正在交互地使用 swi 并尝试输入事实会给您一个如下错误 1 like x y ERROR toplevel Undefined pro
  • 关于构建列表直至满足条件

    我想解决 巨猫军团之谜 https youtu be YeMVoJKn1Tg由 Dan Finkel 使用 Prolog 编写 基本上你从 0 然后使用以下三个操作之一构建此列表 添加5 添加7 或采取sqrt 当您成功建立一个列表后 您就
  • 依赖规则顺序

    为了计算两个相同长度列表之间的汉明距离 我使用foldl hamm A B 0 R 有了这个定义hamm 4 hamm A A V V hamm A B V0 V1 A B V1 is V0 1 第一条规则的删减可以防止不必要的回溯 然而
  • 在序言中减去或添加列表的列表?

    我对序言相当陌生 正在尝试摆弄列表列表 我很好奇如何添加两个列表列表或减去它们从而得到一个列表列表 如果我有两个列表 可以说 SomeList 1 2 3 4 5 6 7 8 SomeList2 1 2 3 4 5 6 7 8 我该如何添加
  • Prolog 管线任务

    我有一项任务是在序言中制作一张简化的地铁地图 其中一部分要求制定一项规则来检查两个车站是否在同一条线上 我有一条规则 但它似乎不起作用 这就是我到目前为止所拥有的 adjacent nh lg central 4 adjacent lg o
  • 井字游戏的极小极大

    我正在尝试用简单的极小极大算法来解决井字游戏 简单 但应该涵盖很多语言 到目前为止我所拥有的 该板表示为 9 个 未绑定 变量的数组 这些变量可以设置为x or o 获胜条件基本上是 win Player X1 X2 X3 X1 Playe
  • 为什么在具体化中将 clpfd 变量分配给实际值?

    我正在开发一个 SWI Prolog 程序 该程序使用 CLP FD 约束来找到特定问题的解决方案 为此 我碰巧需要两个列表的 未定位 重叠 那是 List La长度为A List Lb长度为 B A gt B 未定位的重叠列表是La Lb
  • 在 Prolog、尾递归中计算斐波那契数列

    我想在 Prolog 中以递归尾部模式计算斐波那契数列 fibonacci 0 0 fibonacci 1 1 fibonacci N Result fibonacci N 1 0 fibonacci N Result Count Coun
  • 列表中的连续元素

    我正在阻止一个谓词来编码Prolog 我需要对两个谓词进行编码 如果我打电话 u a b c d e f X 它会给X a b X b c X c d 如果我打电话 v a b c d e f X 它会给X a b X c d X e f
  • 如何找到排列的索引

    index List Idx Predicate will get List with permutation and I want to know index of permutation For example index 4 1 3
  • 根据一个值找到列表内列表的最小值

    我在序言中有这个列表 dublin london 1000 dublin moscow london 5000 我想计算列表的最小值 这样答案应该是 dublin london 1000 这个问题有一些类似的问题序言中列表列表中的最小值 h
  • Same_length/2 更好的纯版本

    鉴于频繁的纯定义same length 2 as same length same length As Bs same length As Bs same length L L loops 是否有一个纯粹的定义不会在这种情况下循环 类似于纯
  • 查找相邻成员

    我必须找出列表中的两个成员是否相邻 限制是使用append 3谓词 到目前为止 我已经完成了下面的操作 如果它是真的 它就有效 否则我得不到答案 就像它永远运行一样 adjacent X Y L append L1 X Y T1 appen
  • Prolog - 如何从输入文件的给定列表中创建变量列表?

    我有一个输入谓词将文件作为列表读取 输入 文件名 列表 该列表的格式将是 9 字面意思就是下划线字符 在这里 不是一个通配符 问题是我如何编写谓词 pred List List2 然后转换所有 进入变量但保留9还在同一个位置吗 所以如果我输
  • 一次性删除不正确的后续解决方案

    我有一个谓词 它找到正确的解决方案 但随后又找到不正确的解决方案 data D data threshold nonredundantbumps D 5 Bs write D 3 6 7 8 2 4 5 6 9 4 7 3 D 3 6 7
  • 将 SWI Prolog 代码编译为 Windows 可执行文件 - 解析器 Grails3 项目

    我正在尝试构建解析器 Grails3 项目https github com RichardMoot Grail https github com RichardMoot Grail谁的教程是http www labri fr perso m

随机推荐

  • Gradle - 仅在目录中的代码发生更改时才执行任务

    我有一个创建 100MB JAR 的 Gradle 任务 现在我只想将它创建为我的一部分gradle build如果项目内的代码已更改 例如特定的 src目录 所以目前 build gradle kts 看起来像 tasks shadowJ
  • 未收到数据时向 Node.js 流添加“静默帧”

    我正在使用 Node js 创建一个 Discord js 机器人 该机器人在语音通道中记录用户的音频 它加入一个频道并开始分别收听每个用户的声音 它记录到 pcm 文件 因此只有原始数据 现在 这可行了 但 Discord 音频流的性质导
  • CSS 像素可以是分数吗?

    可以CSS吗px是分数吗 标准允许吗 如果是这样 主要浏览器是否支持它 伙计们 让我们用文档来支持答案 是的 您可以指定分数像素 由于从第一个版本开始这就是 CSS 的一部分 因此任何支持 CSS 的浏览器都应该很好地支持它 参考 CSS
  • Azure blob 到 Azure SQL 数据库:无法批量加载,因为无法打开文件“xxxx.csv”。操作系统错误代码5(访问被拒绝。)

    我正在尝试在 azure sql 数据库中批量加载 azure blob 存储中的一些数据 文件内容为 customer age gender C1093826151 4 M C352968107 2 M C2054744914 4 F 该
  • 垂直堆叠 md-chips Angularjs

    我正在 AngularJS 中测试 md chips 指令 有没有办法垂直堆叠 芯片 而不是水平附加芯片 我一直在尝试这里找到的演示 https material angularjs org latest demo chips https
  • .htaccess 重写条件尾部斜杠仅适用于特定目录

    我有一条非常有效的规则 它为我网站上的每个目录添加了一个尾部斜杠 如何仅为某些目录 例如 courses 添加尾部斜杠 我不希望每个目录 路径都有一个尾部斜杠 RewriteCond REQUEST URI RewriteRule http
  • 如何将可选参数传递给 bash 脚本中的另一个命令?

    我正在编写一个 bash 脚本 它接受一些可选参数 我想翻译它们并将它们传递给另一个脚本 但是 我很难优雅地传递可选参数 以下是我设法用伪代码完成的工作的概述 a sh if arg1 in arguments then firstArg
  • 标准 ada 包含路径是什么

    我在使用 apt get 安装的 Ubuntu 上使用 gnat 4 6 我需要知道在哪里安装下载的库 例如APQ http sourceforge net projects apq 我应该设置什么ADA INCLUDE PATH and
  • Swift 2.0 复制 OBJC_ASSOCIATION_RETAIN

    我正在扩展 Swift 2 0 中的一些类以与 ReactiveCocoa 3 0 swift 2 0 分支 一起使用 但遇到了一些麻烦 我已经关注科林了艾伯哈特的教程 http blog scottlogic com 2015 05 15
  • Flutter 使用 http 响应头缓存 JSON 响应

    我正在尝试为服务器 JSON 响应创建和使用缓存 像齐射响应缓存之类的东西 https stackoverflow com a 32022946 1993001 https stackoverflow com a 32022946 1993
  • 在 Mac 上创建 SQL 数据库

    我想在我的 Mac 上创建 SQL 数据库 我想知道我可以用来创建 操作它的最佳软件是什么 任何建议将不胜感激 Postgres Postgres http www postgresql org 是一个成熟的重型企业级数据库系统 Postg
  • 是否可以仅捕获屏幕的一部分,甚至捕获另一个应用程序的特定视图?

    Android 允许使用 MediaProjection 类 如图所示 将全屏捕获为图像或视频here https github com mtsahakis MediaProjectionDemo例如图像 我想知道我们能走多远 是否可以仅捕
  • 如何将 findbugs @Nonnull 与外部库一起使用?

    我开始使用 findbugs Nonnull and CheckForNull在现有项目上添加注释 以防止 NPE 并且认为它效果很好 我用 Nonnull作为返回类型和参数的默认值 只需添加默认值 就已经发现了一些 NPE 现在我找到了类
  • 代理密钥、合成密钥和人工密钥之间有区别吗?

    代理密钥 合成密钥和人工密钥之间有什么区别吗 我不清楚具体的区别 代理密钥 合成密钥和人工密钥是同义词 技术关键是另一个 它们的意思都是 没有商业意义的主键 它们与自然密钥或业务密钥不同 后者的含义超出了当前系统的范围 例如 考虑 SO 用
  • span 和 label 标签之间的渲染差异是什么?

    所以我理解跨度和标签标签之间的功能差异 但是标签之间似乎也存在渲染差异 我似乎无法弄清楚它是什么 有谁知道span和label之间的渲染差异 谢谢 除了默认的渲染样式 标签有时在某些浏览器中为粗体 之外 重要的区别是标签应该链接到表单字段
  • 在 JavaFX 中使用数据库填充表视图

    我开始学习 javaFX 我需要用数据库中的数据填充表 我在网上阅读了很多代码 但没有找到我想要的东西 我读this http pastebin com S0Fg9jK8但我不知道如何实现最后一个功能 我阅读了一些其他代码来做到这一点 到目
  • Java:实现无符号 128 位整数

    首先我应该问 有谁知道 Java 的当前实现 128b UINT 吗 我需要一些东西来保持自然的基本价值观 即 一个巨大的柜台 我知道 BigIntegers 它很慢而且不可变 128b UINT 有意义 我正在考虑使用一对原始长整型来实现
  • Regex101 与 JavaScript String.match 分歧

    这个正则表达式 w g应该匹配每个单词字符between大括号 相反 我得到了不同的结果Regex101 JavaScript 引擎 https regex101 com r iD4uP6 1 and Chrome 控制台 Regex101
  • MongoEngine - 另一个用户已通过此数据库的身份验证。您必须先退出

    谁能解释一下为什么我收到错误另一个用户已通过此数据库的身份验证 您必须先退出当使用连接到 MongoDB 时Flask Mongo引擎 https github com MongoEngine flask mongoengine from
  • 在 Prolog 中断言数字谓词

    Prolog 中是否有可能断言代表数字的事实 例如 我想使用谓词distance 2并断言诸如distance town1 city2 1200 The distance town1 city2 1200term 是该术语的语法糖 dist