Skip to content

[Merged by Bors] - chore(Mathlib/Computability/TuringMachine): split file#20790

Closed
BoltonBailey wants to merge 5 commits intomasterfrom
BoltonBailey/split-turing-tape
Closed

[Merged by Bors] - chore(Mathlib/Computability/TuringMachine): split file#20790
BoltonBailey wants to merge 5 commits intomasterfrom
BoltonBailey/split-turing-tape

Conversation

@BoltonBailey
Copy link
Copy Markdown
Collaborator

@BoltonBailey BoltonBailey commented Jan 16, 2025

This PR splits Mathlib/Computability/TuringMachine by moving to a new file the initial 600 or so lines, which deal with the definition of the tape data structure that a Turing machine uses.

This reduces the size of this large file to less than 2100 lines.


Open in Gitpod

@github-actions
Copy link
Copy Markdown

messageFile.md

@github-actions github-actions bot added the t-computability Computability theory (TMs, DFAs, languages, grammars, etc) label Jan 16, 2025
@github-actions
Copy link
Copy Markdown

messageFile.md

@github-actions
Copy link
Copy Markdown

messageFile.md

@github-actions
Copy link
Copy Markdown

messageFile.md

@grunweg
Copy link
Copy Markdown
Contributor

grunweg commented Jan 16, 2025

A comment from the peanut gallery: if you merge master, the summary comment should work again (and the messageFile.md should be replaced by something else. Can you do so, please? Thanks!

Copy link
Copy Markdown
Contributor

@grunweg grunweg left a comment

Choose a reason for hiding this comment

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

Thanks, makes sense to me.
I wonder if the module docstring of the new file should be extended further. (I am aware that this is the tedious part of splitting files.)
maintainer delegate?

/-!
# Turing machine tapes

This file defines a the notion of a Turing machine tape, and the operations on it. A tape is a
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

nit: "a the notation"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Fixed.

import Mathlib.Order.Basic
import Mathlib.Tactic.ApplyFun
import Mathlib.Data.List.GetD
import Mathlib.Computability.Tape
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Can you insert this import alphabetically, please?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

(I'd prefer that we don't bother asking for changes to import order in review, it adds impedance to already unfun work, for what I think is very little benefit. Contributors may adjust import order if they like, but it is generally so inconsistent across the library that we should plan that eventually bots will deal with this.)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

But fixed.

@grunweg grunweg added the tech debt Tracking cross-cutting technical debt, see e.g. the "Technical debt counters" stream on zulip label Jan 16, 2025
@github-actions
Copy link
Copy Markdown

🚀 Pull request has been placed on the maintainer queue by grunweg.

@github-actions github-actions bot added the maintainer-merge A reviewer has approved the changed; awaiting maintainer approval. label Jan 16, 2025
@kim-em
Copy link
Copy Markdown
Contributor

kim-em commented Jan 16, 2025

bors merge

@ghost ghost added the ready-to-merge This PR has been sent to bors. label Jan 16, 2025
mathlib-bors bot pushed a commit that referenced this pull request Jan 16, 2025
This PR splits `Mathlib/Computability/TuringMachine` by moving to a new file the initial 600 or so lines, which deal with the definition of the tape data structure that a Turing machine uses.

This reduces the size of this large file to less than 2100 lines.



Co-authored-by: Kim Morrison <kim@tqft.net>
@github-actions
Copy link
Copy Markdown

messageFile.md

@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Jan 16, 2025

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title chore(Mathlib/Computability/TuringMachine): split file [Merged by Bors] - chore(Mathlib/Computability/TuringMachine): split file Jan 16, 2025
@mathlib-bors mathlib-bors bot closed this Jan 16, 2025
@mathlib-bors mathlib-bors bot deleted the BoltonBailey/split-turing-tape branch January 16, 2025 22:07
Julian added a commit that referenced this pull request Jan 20, 2025
* polynomial-sequences: (149 commits)
  Aha, here's how to get Lean to stop showing S.elems' in the infoview.
  Try satisfying the linter gods again.
  Probably enough initial tidying to send the PR.
  Kill more temporary names.
  Touch more natDegree.
  Does protected satisfy the docstring linter?
  Bit shorter.
  More
  Quiet linters.
  Remove redundant imports.
  Copyright header and more twiddling.
  Rename lemma to 'degree_smul_of_leadingCoeff_rightRegular' and split out
  feat(Polynomial): polynomial sequences are bases for R[X]
  chore(Dynamics/PeriodicPts): don't import `MonoidWithZero` (#20765)
  chore(Associated): split out `Ring` results (#20737)
  feat(AlgebraicGeometry): flat morphisms of schemes (#19790)
  feat(AlgebraicGeometry): scheme-theoretic fibre (#19427)
  chore: split Mathlib.Analysis.Asymptotics.Asymptotics (#20785)
  doc: typo (#20829)
  feat(CategoryTheory): condition for an induced functor between comma categories to be final  (#20139)
  feat(1000.yaml): allow statements of theorems also (#20637)
  feat(Algebra/Homology/Embedding): homology of truncGE' (#19570)
  chore: cleanup many porting notes in Combinatorics (#20823)
  chore: eliminate porting notes about `deriving Fintype` (#20820)
  feat(Algebra/Lie): a Lie algebra is solvable iff it is solvable after faithfully flat base change (#20808)
  feat: define bases of root pairings (#20667)
  feat(Tactic): basic ConcreteCategory support for elementwise (#20811)
  feat(CategoryTheory): define unbundled `ConcreteCategory` class  (#20810)
  chore(CategoryTheory): rename `ConcreteCategory` to `HasForget` (#20809)
  feat: `CommSemiring (NonemptyInterval ℚ≥0)` (#20783)
  chore(yaml_check.py): re-format (#20807)
  feat: elementary estimate for Real.log (#20766)
  feat: definition of linear topologies (#14990)
  feat(RingTheory): flatness over a semiring (#19115)
  feat(Algebra/Homology/Embedding): the canonical truncation truncLE (#19550)
  feat(Algebra/Homology/Embedding): API for the homology of an extension of homological complex (#19203)
  feat(Algebra/Ring): `RingEquiv.piUnique` (#20794)
  feat(RingTheory/LocalRing): add instance `Unique (MaximalSpectrum R)` for a local ring `R` (#20801)
  chore(GroupExtension/Defs): define `Section` and redefine `Splitting` (#20802)
  chore: restore `def` to `adicCompletion` (#20796)
  refactor: rename `UniqueContinuousFunctionalCalculus` to `ContinuousMap.UniqueHom` (#20643)
  feat(Algebra/Homology/Embedding): the morphism from a complex to its `truncGE` truncation (#19544)
  chore(Mathlib/Computability/TuringMachine): split file (#20790)
  feat(Data/Finset/Card): add `InjOn` and `SurjOn` versions of finset cardinality lemmas (#20753)
  feat(Order/WellFoundedSet): add convenience constructors for IsWF and IsPWO for WellFoundedLT types (#20752)
  feat(Set/Finite): a set is finite if its image and fibers are finite (#20751)
  chore: cleanup .gitignore files (#20795)
  feat(Topology/Group/Profinite):  Profinite group is limit of finite group (#16992)
  feat(Combinatorics/SimpleGraph): vertices in cycles (#20602)
  CI: merge `bot_fix_style` actions (#20789)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

maintainer-merge A reviewer has approved the changed; awaiting maintainer approval. ready-to-merge This PR has been sent to bors. t-computability Computability theory (TMs, DFAs, languages, grammars, etc) tech debt Tracking cross-cutting technical debt, see e.g. the "Technical debt counters" stream on zulip

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants