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(model_theory/basic): First-order languages, structures, homomorphisms, embeddings, and equivs #7754

Closed
wants to merge 10 commits into from

Conversation

awainverse
Copy link
Collaborator

Defines the following notions from first-order logic:

  • languages
  • structures
  • homomorphisms
  • embeddings
  • equivalences (isomorphisms)
    The definitions of languages and structures take inspiration from the Flypitch project.

Open in Gitpod

@awainverse awainverse added the awaiting-review The author would like community review of the PR label May 29, 2021
@jesse-michael-han
Copy link
Collaborator

nice work, LGTM

Copy link
Collaborator

@adamtopaz adamtopaz left a comment

Choose a reason for hiding this comment

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

This looks great!

src/model_theory/basic.lean Outdated Show resolved Hide resolved
src/model_theory/basic.lean Outdated Show resolved Hide resolved
src/model_theory/basic.lean Outdated Show resolved Hide resolved
src/model_theory/basic.lean Outdated Show resolved Hide resolved
src/model_theory/basic.lean Outdated Show resolved Hide resolved
src/model_theory/basic.lean Outdated Show resolved Hide resolved
src/model_theory/basic.lean Outdated Show resolved Hide resolved
src/model_theory/basic.lean Outdated Show resolved Hide resolved
src/model_theory/basic.lean Show resolved Hide resolved
src/model_theory/basic.lean Outdated Show resolved Hide resolved
src/model_theory/basic.lean Show resolved Hide resolved
src/model_theory/basic.lean Outdated Show resolved Hide resolved
@semorrison
Copy link
Collaborator

bors d+

@bors
Copy link

bors bot commented Jun 7, 2021

✌️ awainverse can now approve this pull request. To approve and merge a pull request, simply reply with bors r+. More detailed instructions are available here.

@github-actions github-actions bot added delegated The PR author may merge after reviewing final suggestions. and removed awaiting-review The author would like community review of the PR labels Jun 7, 2021
@eric-wieser
Copy link
Member

eric-wieser commented Jun 7, 2021

Could you add a test file with an example of some non-trivial language object? Can language be used to describe a monoid, for instance?

@awainverse
Copy link
Collaborator Author

Could you add a test file with an example of some non-trivial language object? Can language be used to describe a monoid, for instance?

I was planning on creating a file of algebra examples in a follow-up PR. Would it suffice to post that separate PR as a proof-of-concept, and then merge this one?

@awainverse
Copy link
Collaborator Author

(I'll be following closely to https://github.com/flypitch/flypitch/blob/lean-3.14.0/src/abel.lean)

@awainverse
Copy link
Collaborator Author

awainverse commented Jun 7, 2021

@awainverse
Copy link
Collaborator Author

bors r+

bors bot pushed a commit that referenced this pull request Jun 7, 2021
…hisms, embeddings, and equivs (#7754)

Defines the following notions from first-order logic:
- languages
- structures
- homomorphisms
- embeddings
- equivalences (isomorphisms)
The definitions of languages and structures take inspiration from the Flypitch project.
@bors
Copy link

bors bot commented Jun 7, 2021

Build failed (retrying...):

bors bot pushed a commit that referenced this pull request Jun 7, 2021
…hisms, embeddings, and equivs (#7754)

Defines the following notions from first-order logic:
- languages
- structures
- homomorphisms
- embeddings
- equivalences (isomorphisms)
The definitions of languages and structures take inspiration from the Flypitch project.
@bors
Copy link

bors bot commented Jun 8, 2021

Build failed (retrying...):

bors bot pushed a commit that referenced this pull request Jun 8, 2021
…hisms, embeddings, and equivs (#7754)

Defines the following notions from first-order logic:
- languages
- structures
- homomorphisms
- embeddings
- equivalences (isomorphisms)
The definitions of languages and structures take inspiration from the Flypitch project.
@bors
Copy link

bors bot commented Jun 9, 2021

Pull request successfully merged into master.

Build succeeded:

@bors bors bot changed the title feat(model_theory/basic): First-order languages, structures, homomorphisms, embeddings, and equivs [Merged by Bors] - feat(model_theory/basic): First-order languages, structures, homomorphisms, embeddings, and equivs Jun 9, 2021
@bors bors bot closed this Jun 9, 2021
@bors bors bot deleted the fo_structures branch June 9, 2021 01:43
@eric-wieser
Copy link
Member

How does mul_assoc fit into that fo_monoid example?

@awainverse
Copy link
Collaborator Author

So far, I only have the ability to define a structure in the language of monoids, which is just a type with [has_one M] [has_mul M]. Later, I'll define terms, and formulas, and sentences, and what it means for a structure to satisfy a theory. Then it will be easy to define the theory of monoids, and it'll look something like M.satisfies T_monoids, where T_monoids is a set consisting of three axioms, one of which represents mul_assoc.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
delegated The PR author may merge after reviewing final suggestions.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants