feat(Mathlib.Data.Ordering.Dickson): Dickson orders - #16704
AntoineChambert-Loir wants to merge 2 commits into
Conversation
PR summary 04ce7fcd5dImport changes for modified filesNo significant changes to the import graph Import changes for all files
|
| /-- Becker-Weispfenning, Proposition 4.42 -/ | ||
| theorem isDickson_tfae (α : Type*) [PartialOrder α] : List.TFAE [ | ||
| isDickson α, | ||
| ∀ (a : ℕ → α), ∃ i j, i < j ∧ a i ≤ a j, |
There was a problem hiding this comment.
This looks exactly like the definition of a partially well-ordered set. Indeed, this part of the tfae exactly matches a special case of PartiallyWellOrderedOn. What do you need from this definition that isn't already part of the existing one?
There was a problem hiding this comment.
For assumption 3, it's not that this set is finite, but that the equivalence classes (for the associated partial order) are finite. And when I proved that, I didn't think how to formalize the partial order associated to a preorder, or whether it already exists.
There was a problem hiding this comment.
I'm afraid I don't quite follow. What's assumption 3? Could you also explain why this definition is different from PartiallyWellOrderedOn? It looks to me like you've proved it's a special case of that, on this line.
There was a problem hiding this comment.
In particular, this tfae gives you exactly the statement that isDickson α is equivalent to PartiallyWellOrderedOn Set.univ (· ≤ ·), except that the latter is defined in greater generality. Additionally, using the API already given there gives you isDickson_iff_exists_monotone directly, instead of needing to write another proof.
There was a problem hiding this comment.
The general theorem proves the equivalence of three analogous properties for a preorder : being Dickson, property 2, and a variant of property 3 which I can't state in Lean but that asserts the corresponding finiteness property in the partial order associated with the preorder.
There was a problem hiding this comment.
Said otherwise : consider a preorder X and the partial order Y deduced from X. By definition, being Dickson is equivalent for X and Y, properties 1 and 2 are equivalent as well (because they involve only the strict relation), but property 3 is not. And it is for Y that it is equivalent to being Dickson.
There was a problem hiding this comment.
So if somebody really needs Dickson preorders, they could just prove the equivalence with being Dickson for the associated partial order, and apply the already proved theorem.
There was a problem hiding this comment.
So if somebody really needs Dickson preorders, they could just prove the equivalence with being Dickson for the associated partial order, and apply the already proved theorem.
Dickson preorders, and Dickson partial orders are already in mathlib however. This PR duplicates the definition, proves it is equivalent to the existing one, and re-proves lemmas which are already in mathlib. I'm afraid I still don't understand why it is useful to re-make the API, could you clarify?
|
Mathlib has moved to PRs from forks. This PR is still from a branch of the main repository and will soon be closed! Please migrate the content to a fork and reopen a PR from there if you wish to do so. See Zulip topic for more instructions. Thank you for contributing to mathlib! |
|
This pull request is now in draft mode. No active bors state needed cleanup. While this PR remains draft, bors will ignore commands on this PR. Mark it ready for review before using commands like |
|
This PR has been migrated to a fork-based workflow: #43969 |
Dickson orders are a particular class of well founded orders
characterized by the fact that every nonempty set has finitely many minimal elements.
They appear in the classical theory of Groebner bases because it is easier to prove
that some sets are well founded using this property.
WiP. In the
tfaefunction, property 2 is exactlySet.PartiallyWellOrderedOn, so the PR should be rewritten so as to use that property (and not defineIsDickson).