Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Merged by Bors] - feat: Ordinal Approximants of the least/greatest fixed point in a complete lattice #8996

Closed
wants to merge 32 commits into from

Conversation

PhoenixIra
Copy link
Collaborator

@PhoenixIra PhoenixIra commented Dec 12, 2023

Define ordinal approximants for the least/greatest fixed points of a monotone function in a complete lattice. It is sometimes also called the constructive Knaster-Tarski Theorem, first introduced by Cousot & Cousot in 1979. This implementation is however not constructive.

This has a variety of applications in non standard logics and proofs such as quantitative logics or cyclic proofs.


I am a bit unsure about the placement of certain theorems, namely:

  • The placement of the limitation definition and its theorems. This feels very special to this theorem. Thus I left it in this file. It could however also live somewhere in Ordinals/Cardinals
  • The theorems monotone_stabilizing and antitone_stabilizing. I first thought about placing them in Mathlib.Order.Monotone.Basic. However, Monotone is using preorders and not partialorders, where this theorem does not hold. Maybe this theorem is also already proven somewhere else and I missed it?
  • The OrdinalApprox namespace could also live in Mathlib.Order.FixedPoints. However, I decided aginst it as this would mean that importing Mathlib.Order.FixedPoints would also import a lot of (likely unecessary) files from Mathlib.SetTheory.Ordinal and Mathlib.SetTheory.Cardinal when not using ordinal approximants.

I appreciate comments regarding these questions and reviews in general. I also appreciate a comment if this has already been done and I just totally missed it.

Open in Gitpod

@PhoenixIra PhoenixIra self-assigned this Dec 12, 2023
@PhoenixIra PhoenixIra added enhancement New feature or request awaiting-review The author would like community review of the PR t-order Order hierarchy t-logic Logic (model theory, set theory, etc) labels Dec 12, 2023
Copy link
Collaborator

@Ruben-VandeVelde Ruben-VandeVelde left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry for the delayed response here, @PhoenixIra. I don't know enough about the mathematics to judge whether this is the right thing to prove, but I can make suggestions about mathlib style, which you'll find below. Could you let us know whether you're still up for finishing this PR?

Mathlib/Logic/Function/Basic.lean Outdated Show resolved Hide resolved
Mathlib/Logic/Function/Basic.lean Outdated Show resolved Hide resolved
Mathlib/Order/FixedPoints.lean Outdated Show resolved Hide resolved
Mathlib/SetTheory/Cardinal/Basic.lean Outdated Show resolved Hide resolved
Mathlib/SetTheory/Cardinal/Basic.lean Outdated Show resolved Hide resolved
Mathlib/Order/OrdinalApproximantsFixedPoints.lean Outdated Show resolved Hide resolved
Mathlib/Order/OrdinalApproximantsFixedPoints.lean Outdated Show resolved Hide resolved
Mathlib/Order/OrdinalApproximantsFixedPoints.lean Outdated Show resolved Hide resolved
Mathlib/Order/OrdinalApproximantsFixedPoints.lean Outdated Show resolved Hide resolved
Mathlib/Order/OrdinalApproximantsFixedPoints.lean Outdated Show resolved Hide resolved
@Ruben-VandeVelde Ruben-VandeVelde added awaiting-author A reviewer has asked the author a question or requested changes and removed awaiting-review The author would like community review of the PR labels Feb 16, 2024
@PhoenixIra
Copy link
Collaborator Author

Thank you for the detailed comments! I am rather busy the next two weeks. But as soon as I get to it, I will incorporate or react to all comments. I am also still very motivated to finish up the PR.

docs/references.bib Outdated Show resolved Hide resolved
docs/references.bib Outdated Show resolved Hide resolved
docs/references.bib Outdated Show resolved Hide resolved
docs/references.bib Outdated Show resolved Hide resolved
docs/references.bib Outdated Show resolved Hide resolved
docs/references.bib Show resolved Hide resolved
@PhoenixIra
Copy link
Collaborator Author

I believe, I have addressed all issues. Please let me know if I missed anything.

@PhoenixIra PhoenixIra added awaiting-review The author would like community review of the PR and removed awaiting-author A reviewer has asked the author a question or requested changes labels Mar 3, 2024
@PhoenixIra
Copy link
Collaborator Author

PhoenixIra commented Mar 18, 2024

Thank you for the review and don't worry about the delay.

I have changed the documentation to only communicate the approximation scheme and explain why it's not constructive (despite the name of the papers). If I missed anything, please let me know.

I also decided to remove Ordinal from the filename, as the filename was already very long. Please also let me know if you think this is confusing now (as e.g. the Kleene fixed-point theorem is not located there)

I will also resolve / comment on your detailed comments.

@PhoenixIra PhoenixIra added awaiting-review The author would like community review of the PR and removed awaiting-author A reviewer has asked the author a question or requested changes labels Mar 19, 2024
@grunweg grunweg added the new-contributor This PR was made by a contributor with fewer than 5 merged PRs. Welcome to the community! label Mar 25, 2024
Copy link
Member

@fpvandoorn fpvandoorn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the changes.

I have a few more suggestions. If you incorporate those (and the same for gfp, then I'm happy to merge this.

Mathlib/Order/ApproximantsFixedPoints.lean Outdated Show resolved Hide resolved
Mathlib/Order/ApproximantsFixedPoints.lean Outdated Show resolved Hide resolved
Mathlib/Order/ApproximantsFixedPoints.lean Outdated Show resolved Hide resolved
Mathlib/Order/ApproximantsFixedPoints.lean Outdated Show resolved Hide resolved
Mathlib/Order/ApproximantsFixedPoints.lean Outdated Show resolved Hide resolved
Mathlib/Order/ApproximantsFixedPoints.lean Outdated Show resolved Hide resolved
Mathlib/Order/ApproximantsFixedPoints.lean Outdated Show resolved Hide resolved
Mathlib/Order/ApproximantsFixedPoints.lean Outdated Show resolved Hide resolved
@fpvandoorn
Copy link
Member

Can you move/rename the file to Mathlib/SetTheory/Ordinal/FixedPointApproximants.lean? I think Ordinal is a better folder for this file (though I do not feel strongly about this), but the name FixedPointApproximants is a bit better than the current name.

@YaelDillies YaelDillies added awaiting-author A reviewer has asked the author a question or requested changes and removed awaiting-review The author would like community review of the PR labels Mar 29, 2024
@PhoenixIra
Copy link
Collaborator Author

Every suggestion should be incorporated.

@PhoenixIra PhoenixIra removed the awaiting-author A reviewer has asked the author a question or requested changes label Apr 9, 2024
@fpvandoorn fpvandoorn added the awaiting-author A reviewer has asked the author a question or requested changes label Apr 9, 2024
@PhoenixIra PhoenixIra removed the awaiting-author A reviewer has asked the author a question or requested changes label Apr 10, 2024
@fpvandoorn
Copy link
Member

Thank you for incorporating all review suggestions!

bors merge

@github-actions github-actions bot added the ready-to-merge This PR has been sent to bors. label Apr 10, 2024
mathlib-bors bot pushed a commit that referenced this pull request Apr 10, 2024
…plete lattice (#8996)

Define ordinal approximants for the least/greatest fixed points of a monotone function in a complete lattice. It is sometimes also called the constructive Knaster-Tarski Theorem, first introduced by Cousot & Cousot in 1979. This implementation is however not constructive.

This has a variety of applications in non standard logics and proofs such as quantitative logics or cyclic proofs.



Co-authored-by: Ira Fesefeldt <public@feuervogel.me>
@mathlib-bors
Copy link

mathlib-bors bot commented Apr 10, 2024

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title feat: Ordinal Approximants of the least/greatest fixed point in a complete lattice [Merged by Bors] - feat: Ordinal Approximants of the least/greatest fixed point in a complete lattice Apr 10, 2024
@mathlib-bors mathlib-bors bot closed this Apr 10, 2024
@mathlib-bors mathlib-bors bot deleted the constructive-tk-fixpoint branch April 10, 2024 10:42
Louddy pushed a commit that referenced this pull request Apr 15, 2024
…plete lattice (#8996)

Define ordinal approximants for the least/greatest fixed points of a monotone function in a complete lattice. It is sometimes also called the constructive Knaster-Tarski Theorem, first introduced by Cousot & Cousot in 1979. This implementation is however not constructive.

This has a variety of applications in non standard logics and proofs such as quantitative logics or cyclic proofs.



Co-authored-by: Ira Fesefeldt <public@feuervogel.me>
atarnoam pushed a commit that referenced this pull request Apr 16, 2024
…plete lattice (#8996)

Define ordinal approximants for the least/greatest fixed points of a monotone function in a complete lattice. It is sometimes also called the constructive Knaster-Tarski Theorem, first introduced by Cousot & Cousot in 1979. This implementation is however not constructive.

This has a variety of applications in non standard logics and proofs such as quantitative logics or cyclic proofs.



Co-authored-by: Ira Fesefeldt <public@feuervogel.me>
uniwuni pushed a commit that referenced this pull request Apr 19, 2024
…plete lattice (#8996)

Define ordinal approximants for the least/greatest fixed points of a monotone function in a complete lattice. It is sometimes also called the constructive Knaster-Tarski Theorem, first introduced by Cousot & Cousot in 1979. This implementation is however not constructive.

This has a variety of applications in non standard logics and proofs such as quantitative logics or cyclic proofs.



Co-authored-by: Ira Fesefeldt <public@feuervogel.me>
callesonne pushed a commit that referenced this pull request Apr 22, 2024
…plete lattice (#8996)

Define ordinal approximants for the least/greatest fixed points of a monotone function in a complete lattice. It is sometimes also called the constructive Knaster-Tarski Theorem, first introduced by Cousot & Cousot in 1979. This implementation is however not constructive.

This has a variety of applications in non standard logics and proofs such as quantitative logics or cyclic proofs.



Co-authored-by: Ira Fesefeldt <public@feuervogel.me>
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 fewer than 5 merged PRs. Welcome to the community! ready-to-merge This PR has been sent to bors. t-logic Logic (model theory, set theory, etc) t-order Order hierarchy
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants