跳至主要內容

小型推理引擎语言tie使用方法 & 语法定义

Salvely原创大约 2 分钟

使用方法

  • 输入python main.py进入默认的交互模式
  • 输入python main.py -f [filename.tie],可对tie程序进行解释,并输出到控制台
  • 如果输入为文件,可使用-o [output_filename],将程序输出重定向到output_filename文件

注释

使用/*表示注释的开始,使用*/表示注释的结束。

英语转化为命题

命题

命题变量标识符

支持字母、数字、下划线,不可以数字开头。

命题变量的值类型

命题变量有3种值类型:

  • T:即True
  • F:即False
  • undefined:在命题变量定义了但是还没有赋值的时候

命题变量定义

使用define pro [variable_name] [= T/F]来定义一个命题变量,如果不明确赋值,则其为undefined。如下:

define pro p /* propositional variable p, p = undefined */
define pro q = T /* propositional variable q */

命题变量赋值

可以使用[variable_name] = T/F赋值。命题变量在使用前必须对其进行赋值,否则会输出undefined,因为命题变量必须有真假。

命题操作符

命题操作符有3个,分别andornotxornot是单目运算符,其他三个是二元运算符。运算符可以接受T/F常数或者命题变量,作为操作数。如果命题变量还未赋值,也就是undefined,运算结果为undefined

  • ¬p\neg{p}表示not p,用英文表示是It's not the case that p
  • \land 表示p and q,用英文表示是p, and q
  • \lor 表示 p or q,用英文表示是p, or qinclusive or
  • \oplus 表示 p xor q,用英文表示是 p, or q, but not bothexclusive or