10 个重大版本

0.11.0 2023年10月12日
0.10.0 2022年3月31日
0.9.0 2022年3月31日
0.5.0 2021年11月30日

#138数学

MIT/Apache

52KB
702

Joker Calculus

Rust 中 Joker Calculus 的实现

基于 Daniel Fischer、William Alexander Morris 和 Sven Nilsen(2021)撰写的论文 Joker Calculus

Plato

柏拉图,西方哲学界的重要人物。 来源

示例:Hello Joker

use joker_calculus::*;

fn main() {
    let a = platonism();
    let b = not(a.clone());
    assert_eq!(b.eval_closed(), seshatism());
}

介绍

Joker Calculus 用于描述哲学立场中的语言偏见。

您可以将 Joker Calculus 视为扩展位,具有两种评估模式(开放和关闭)

0 = Platonism
1 = Seshatism

!0 = 1 (in both Open and Closed variant)
!1 = 0 (in both Open and Closed variant)

存在一个“Joker”运算符 ?

?0 = (0, 1) = Something that appears to be 1 but actually is 0
?1 = (1, 0) = Something that appears to be 0 but actually is 1

(0, 0) = 0
(1, 1) = 1

还有一个视角运算符

0 1 = Something that is like 1 but seen from the perspective of 0
1 0 = Something that is like 0 but seen from the perspective of 1

这些运算符用于构建更复杂的表达式,例如

0 ?1 = 0 (in Closed variant) = Something who stands for 1 but "embraces" 0
1 ?0 = 1 (in Closed variant) = Something who stands for 0 but "embraces" 1

这也允许表达那些“陷入不真实性”的相互依存立场

!(1 0) = 0 ?0 = Something who stands for 0 but "can not perceive itself from" 1
!(0 1) = 1 ?1 = Something who stands for 1 but "can not perceive itself from" 0

海德格尔意义上的真实性和非真实性

马丁·海德格尔在“存在”中思考了很多关于“真实性和非真实性”的问题。这一观点已被 Joker Calculus 从维特根斯坦关于语言和逻辑之间关系的视角所采用。

在 Joker Calculus 中,如果一种语言偏见在关闭变体中被评估后包含一个 Joker,则称其为“非真实的”。这意味着,这种语言无法摆脱两种不同偏见之间的某些内部边界。

例如,当我从我的立场 1 看到你的立场 0 时,我可以将其表达为 1 0。这是一个被认为是真实的立场,尽管我存在偏见。

然而,当我假装拥有某种立场 0 而实际上拥有立场 1 时,这被认为是一个非真实的立场,因为它可以表达为 (1, 0) = ?1。这种语言偏见是非真实的,因为它包含一个 Joker。

第三个例子是我“拥抱”位置 0 同时持有位置 1,在封闭变体中表示为 0 ?1 = 0

  • 我持有位置 1
  • 我看似持有位置 0,因此 (1, 0) = ?1
  • 我的位置从 0 看来是拥抱 0,因此在封闭变体中为 0 ?1 = 0

在封闭变体中,Joker Calculus有时可以在评估时去除Joker。这些位置被认为是真实的。

身份作为评估终止

id 运算符保留参数的身份。

例如,!id(0) 不评估为 1。然而,Joker Calculus仍然可以对其进行推理。在封闭变体中,!!id(0) 变为 id(0)

在哲学中,这对应于不透明语言偏差。你还可以将其视为在未知语言维度上处理自反函数。

动机

Joker Calculus 是一个关于 柏拉图主义塞希阿斯主义 之间更高双重性的强归约形式模型。

在形而上学哲学中,柏拉图主义是认为存在抽象对象的观点。柏拉图主义对西方思想产生了深远的影响。

在数学语言设计的哲学中,路径语义的核心公理暗示了柏拉图主义的对偶版本“塞希阿斯主义”的存在。

换句话说,一个人在哲学上可以采取柏拉图主义的观点,那么就有一个相对应的但相反的塞希阿斯主义的立场。塞希阿斯主义与柏拉图主义一样深刻和复杂,因为两种构建数学语言的方式之间存在精确的数学关系。

塞希阿斯主义不应与 唯名论 混淆,唯名论在形而上学哲学的辩论中很重要。在数学语言设计的哲学中,唯名论的作用较小。你可以在文章《什么是柏拉图主义的错误?》中了解更多信息 What is Wrong With Platonism?

塞希阿斯主义目前在 AdvancedResearch 组织下进行研究。

作为数学宇宙的“小丑”受到 艾伦·瓦茨 哲学的启发,他对此主题进行了 讲座

在Joker代数的意义上,更高的对偶性意味着语言可以具有不同的表面和深度层次。这些表面和深度层次的配置也有它们自己的对偶性。

开放与封闭Joker代数

Joker代数有两种变体,一种称为“开放”,另一种称为“封闭”。

  • 在封闭变体中,更高的对偶性是自同构
  • 在开放变体中,更高的对偶性是伴随函子

示例:开放与封闭

use joker_calculus::*;

fn main() {
    let a = seshatic(platonism());
    let b = not(a.clone());
    let b_open = b.eval_open();
    let b_closed = b.eval_closed();
    assert_eq!(b_open, platonic(joker(platonism())));
    assert_eq!(b_closed, platonic(joker(platonism())));

    let a_open = not(b_open).eval_open();
    let a_closed = not(b_closed).eval_closed();
    assert_eq!(a_open, seshatic(joker(joker(platonism()))));
    assert_eq!(a_closed, seshatic(platonism()));
}

无运行时依赖