Skip to content

Contributing

Steven Clontz edited this page Jun 3, 2023 · 13 revisions

You'll need to log in or join GitHub to contribute.

Discussions

Not sure where to begin? Head over to our Discussion board and start a new thread! We're always happy to have new community members join the conversation.

Here is the thread for discussing these guidelines in particular.

Opening an Issue

If you have a specific improvement you'd like to see made to the pi-Base, you can always open an Issue that includes the following information:

  • All spaces/properties/theorems related to your improvement, including their IDs (e.g. S012345). Links to https://topology.pi-base.org are encouraged.
  • A description of the changes you'd recommend.

After discussion of your suggestion, any contributor can make a "Pull Request" (see below) to implement your improvement.

Make a Pull Request

To add a pull request implementing any changes to the repository, fork this project to your own account, which creates a copy of https://github.com/pi-base/data/ to something like https://github.com/StevenClontz/data/.

The easiest way to edit your fork of the repository is to use GitHub.dev. For example, if your fork is located at https://github.com/StevenClontz/data, you can edit the URL to say https://github.dev/StevenClontz/data. This opens a file editor in your web browser where you can make whatever changes you'd like. Then you can "commit and push" those changes to save them to your fork.

image

When editing, be sure to review our conventions on notation and naming, and read below on information about references, our review criteria, etc.

Once you're happy with your changes, you can open up all pull request for review. This will run some automatic checks to make sure your changes don't have any syntax errors or introduce any contradictions. Then one of our volunteer reviewers will check your work and discuss the proposed changes and any required effort necessary before they can be merged into the main data repository.

References

When possible, contributions should reference a peer-reviewed publication, along with a Mathematical Reviews link or DOI link. Sometimes Wikipedia references are also appropriate.

pi-Base is not a forum for peer review, so to contribute improvements not directly reflected in the literature, we encourage you to ask (and self-answer if necessary) an appropriate question on either https://math.stackexchange.com/ or https://mathoverflow.net/, and use that as your citation.

Reviewing Checklist

The golden rules:

  • New volunteers should be especially encouraged and thanked for their contributions.
  • Contributions that add verifyable mathematical knowledge to the pi-Base with appropriate references should be merged as soon as possible.
    • If the PR could nonetheless could be improved (e.g. a better choice of naming, a more useful description), those improvements should be proposed in a separate issue/PR (whether by encouraging the original contirbutor, or directly by the reviewer).
  • If minor errors (e.g. typos) are found, the reviewer can edit the PR directly before accepting and merging the PR.

Contributions that edit/add a "trait" (pair of an existing space/property) are typically acceptable unless the trait is already deduced by existing theorems.

Since there are infinitely-many possible spaces and properties, the introduction of new spaces and properites have a higher bar to meet. Likewise, we have some requirements on new theorems in order to ensure high-quality automated deductions.

Requirements for a new property

  • The property should be of interest to researchers, whether it appears in the peer-reviewed literature or another scholarly venue such as MathOverflow.
  • The contribution should also include added traits and/or theorems that allows the pi-Base to deduce whether or not this property holds for multiple spaces.

Requirements for a new space

  • The space should be of interest to researchers, whether it appears in the peer-reviewed literature or another scholarly venue such as MathOverflow.
  • The space should generally provide an example/counter-example that is not currently represented in the pi-Base (e.g. it is a space that is X and Y but not Z, and the pi-Base does not already know of such an example). So the contribution should include sufficient traits/theorems to provide this.

Requirements for a new theorem

  • The thoerem should be of the form AND(list of props) => prop.
    • Tip: a theorem of the form P or Q => R can be split into two theorems P => R and Q => R. Likewise P => Q or R and be rewritten as P and ~Q => R, and so on.
  • The theorem should not be deducible from existing theorems.
    • Tip: if the theorem P and Q => R can be deduced, a search for P and Q and ~R in pi-Base will point this out.
  • If a new theorem makes other theorems redundant, consider whether the other theorems should instead be edited to be generalized.

Reviewers

These are our current reviewers. Please feel free to contact us with any questions via our Discussion board.

  • Chris Caruvana, @ccaruvana
  • Steven Clontz, @StevenClontz
  • Patrick Rabau, @prabau
  • Lynne Yengulalp, @lyengulalp

Licensing

The copyright of all data in this repository - including any merged user contributions - is owned by Steven Clontz and James Dabbs and licensed for free public use under CC-BY-4.0. Please see LICENSE.md for details.

Clone this wiki locally