5

为什么 mathlib 对 UFD 的定义是这样的:

class unique_factorization_domain (α : Type*) [integral_domain α] :=
(factors : α → multiset α)
(factors_prod : ∀{a : α}, a ≠ 0 → (factors a).prod ~ᵤ a)
(prime_factors : ∀{a : α}, a ≠ 0 → ∀x∈factors a, prime x)

(要求通过类型类推断来推断积分域结构)但它对PID的定义是这样的:

class principal_ideal_domain (α : Type*) extends integral_domain α :=
(principal : ∀ (S : ideal α), S.is_principal)

扩展积分域结构?有什么区别?旧的结构命令与它有关吗?

4

1 回答 1

1

我对精益聊天讨论的印象是,由于与类型类推断相关的微妙原因,扩展类可能更好,因此可能需要重构 UFD 的定义。

于 2020-02-17T18:57:30.220 回答