Skip to content

feat(RingTheory/DedekindDomain): add divisor group core#41729

Open
vaca22 wants to merge 1 commit into
leanprover-community:masterfrom
vaca22:codex/dedekind-divisor-core
Open

feat(RingTheory/DedekindDomain): add divisor group core#41729
vaca22 wants to merge 1 commit into
leanprover-community:masterfrom
vaca22:codex/dedekind-divisor-core

Conversation

@vaca22

@vaca22 vaca22 commented Jul 14, 2026

Copy link
Copy Markdown

Add the formal divisor group of a Dedekind domain and bundle the existing factorization API as an additive equivalence between nonzero fractional ideals and divisors.

Divisors are finitely supported integer-valued functions on height-one primes. divisor records FractionalIdeal.count, ofDivisor reconstructs a fractional ideal from prime powers, and divisorEquiv proves these operations are inverse and send ideal multiplication to divisor addition.

This is the core of the earlier larger proposal. Principal divisors and weighted degrees are deliberately left for later pull requests.

@github-actions github-actions Bot added the new-contributor This PR was made by a contributor with at most 5 merged PRs. Welcome to the community! label Jul 14, 2026
@github-actions

Copy link
Copy Markdown

Welcome new contributor!

Thank you for contributing to Mathlib! If you haven't done so already, please review our contribution guidelines, as well as the style guide and naming conventions. In particular, we kindly remind contributors that we have guidelines regarding the use of AI when making pull requests.

We use a review queue to manage reviews. If your PR does not appear there, it is probably because it is not successfully building (i.e., it doesn't have a green checkmark), has the awaiting-author tag, or another reason described in the Lifecycle of a PR. The review dashboard has a dedicated webpage which shows whether your PR is on the review queue, and (if not), why.

If you haven't already done so, please come to https://leanprover.zulipchat.com/, introduce yourself, and mention your new PR.

Thank you again for joining our community.

@github-actions github-actions Bot added the t-ring-theory Ring theory label Jul 14, 2026
@github-actions

github-actions Bot commented Jul 14, 2026

Copy link
Copy Markdown

PR summary 57d16c3ffc

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference
Mathlib.RingTheory.DedekindDomain.Divisor (new file) 2436

Declarations diff (regex)

+ Divisor
+ count_ofDivisor
+ divisor
+ divisorEquiv
+ divisor_apply
+ eq_of_count_eq
+ ofDivisor

You can run this locally as follows
## from your `mathlib4` directory:
git clone https://github.com/leanprover-community/mathlib-ci.git ../mathlib-ci

## summary with just the declaration names:
../mathlib-ci/scripts/pr_summary/declarations_diff.sh <optional_commit>

## more verbose report:
../mathlib-ci/scripts/pr_summary/declarations_diff.sh long <optional_commit>

The doc-module for scripts/pr_summary/declarations_diff.sh in the mathlib-ci repository contains some details about this script.

Declarations diff (Lean)

Lean-aware diff — post-build, computed from the Lean environment (commit 57d16c3).

  • +6 new declarations
  • −0 removed declarations
+FractionalIdeal.count_ofDivisor
+FractionalIdeal.divisor
+FractionalIdeal.divisorEquiv
+FractionalIdeal.divisor_apply
+FractionalIdeal.ofDivisor
+IsDedekindDomain.Divisor

No changes to strong technical debt.

Increase in weak tech debt: (relative, absolute) = (1.00, 0.00)
Current number Change Type (weak)
5011 1 exposed public sections

Current commit 57d16c3ffc
Reference commit 7fff4171d6

This script lives in the mathlib-ci repository. To run it locally, from your mathlib4 directory:

git clone https://github.com/leanprover-community/mathlib-ci.git ../mathlib-ci
../mathlib-ci/scripts/reporting/technical-debt-metrics.sh pr_summary
  • The relative value is the weighted sum of the differences with weight given by the inverse of the current value of the statistic.
  • The absolute value is the relative value divided by the total sum of the inverses of the current values (i.e. the weighted average of the differences).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new-contributor This PR was made by a contributor with at most 5 merged PRs. Welcome to the community! t-ring-theory Ring theory

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant