![]() |
|
![]() |
楼主(阅:11/回:0)脉冲原生数学的形式化片段 1. 基础类型定义(物理层) 我们首先定义脉冲时间与物理占位符。 -- 脉冲时间流,是最基本的离散类型 data Time : Type0 where t0 : Time next : Time → Time -- 物理占位符类型:每个占位符在给定时钟脉冲时刻有一个值 Postulate Placeholder : Type0 Postulate readvalue : Placeholder → Time → Maybe value 这里 Maybe value 表示在脉冲之间可能无值(Nothing),只在脉冲瞬间有值(Just v)。 Type0 表示这是一个物理层类型(0-型),相等是判断性的,没有路径。 2. 抽象规则的生成(抽象层) 抽象规则不是“预先存在的连续实体”,而是从物理序列中通过规则构造出来的高阶对象。 我们定义一个抽象规则类型,它本身是通过离散符号和构造子建立的: -- 抽象规则构造子 data Rule : Type1 where -- 从物理序列插值生成连续表示 interpolate_rule : (p : Placeholder) → Rule -- 组合规则 combine : Rule → Rule → Rule -- 引入等价路径 add_path : Rule → Path → Rule 这里的 Rule 是 Type1(1-型或更高),因为它包含路径结构。 Path 是一个额外的构造,表示两个值之间的连续变形: postulate Path : (A : Type0) → A → A → Type1 注意:Path 不是原生∞-型,而是通过 add_path 显式添加到规则中的。 3. 规则在脉冲时刻的实例化 抽象规则只在脉冲时刻被“采样”到物理值: postulate evaluate : Rule → Time → Maybe value -- 一致性公理:如果规则由占位符 p 生成,那么在脉冲时刻 t 有值时应一致 axiom consistency : ∀ (p : Placeholder) (t : Time) (v : value), readvalue p t ≡ Just v → evaluate (interpolate_rule p) t ≡ Just v 这保证了抽象规则在脉冲时刻与物理存储一致。 4. 连续与离散的交互界面(1-型) 我们引入变换来表示现实与抽象之间的映射: -- 变换类型(1-型) data Transformation : Type1 where -- 从物理到抽象 abstractify : (p : Placeholder) → Transformation -- 从抽象到物理(实例化) concretize : (r : Rule) → Transformation -- 变换的组合 compose : Transformation → Transformation → Transformation -- 变换之间的等价(自然变换) natural : (τ₁ τ₂ : Transformation) → Path Transformation τ₁ τ₂ 这里 Transformation 是 1-型,因为它有变换之间的等价(natural),但不是完全的 ∞-型。 5. 历史保存的形式化 历史不是连续记录,而是通过占位符的物理状态序列 + 抽象规则的重构能力共同实现: -- 历史视图(抽象层概念) HistoryView : Rule → Type1 HistoryView r = (t : Time) → evaluate r t -- 但物理上只存储占位符序列 physical_history : Placeholder → (t : Time) → Maybe value physical_history p t = readvalue p t 关键点: 物理层只存脉冲时刻的值(离散)。 抽象层可以通过 interpolate_rule 从物理历史生成连续的 HistoryView。 这是从离散生成连续,不是反过来。 6. 与传统 HoTT 的根本区别 起点不同:我们从 Time(离散脉冲)和 Placeholder(物理存储)开始,而不是从 ∞-群胚开始。 路径是衍生的:Path 是通过 add_path 显式添加到规则中的,不是类型的原生属性。 物理与抽象分离:Type0 是物理层,Type1 是抽象层,不允许随意混合。 脉冲语义:值在脉冲间是 Nothing,这破坏了传统数学的“函数总定义”假设。 跑跑啦航模 讯客分类信息网 ![]() |