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

feat(src/algebra): add basic theory of lattice ordered groups #8663

Closed

Conversation

mans0954
Copy link
Collaborator

feat(src/algebra) : add basic theory of lattice ordered groups


This is my first non-trivial PR to mathlib. It adds the basic theory of lattice ordered groups, which is useful as the algebraic underpinnings of vector lattices, Banach lattices, AL-space, AM-space etc. I am still relatively new to lean/mathlib and have a lot to learn, so constructive criticism is very welcome. I imagine an expert could write more succinct proofs.

I have defined both the multiplicative and additive classes, but have mostly developed the theory with the additive classes as this notation seems more natural in this context, and I have not myself had an application for multiplicative lattice ordered groups. I'm happy to rewrite the file in the multiplicative form if required.

Many of the results are valid in the non-commutative case, but the proofs are more involved. I've only submitted the commutative case, as that's all I personally need. Should I be aiming for greater generality?

Thanks for your time,

Christopher Hoskin

Open in Gitpod

@jcommelin jcommelin changed the title feat(src/algebra) : add basic theory of lattice ordered groups feat(src/algebra): add basic theory of lattice ordered groups Aug 13, 2021
@jcommelin jcommelin added the awaiting-review The author would like community review of the PR label Aug 13, 2021
Copy link
Member

@jcommelin jcommelin 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 your PR! The code looks pretty mature already, at first sight.
But there are some stylistic issues. I've marked the first few, but please go through the entire file.

Concerning the additive/multiplicative decision: I think @[to_additive] could do almost all of the work for you, right? So in principal it shouldn't be much harder to develop the multiplicative story as well.

Otoh, I agree that maybe it's not likely to see use in the future.

Comment on lines +39 to +41
- `a⁺ = a ⊔ 0`: The *positive component* of an element a of a `lattice_ordered_add_comm_group`
- `a⁻ = (-a) ⊔ 0`: The *negative component* of an element a of a `lattice_ordered_add_comm_group`
* `|a| = a⊔(-a)`: The *absolute value* of an element a of a `lattice_ordered_add_comm_group`
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
- `a⁺ = a ⊔ 0`: The *positive component* of an element a of a `lattice_ordered_add_comm_group`
- `a⁻ = (-a) ⊔ 0`: The *negative component* of an element a of a `lattice_ordered_add_comm_group`
* `|a| = a⊔(-a)`: The *absolute value* of an element a of a `lattice_ordered_add_comm_group`
- `a⁺ = a ⊔ 0`: The *positive component* of an element `a` of a `lattice_ordered_add_comm_group`
- `a⁻ = (-a) ⊔ 0`: The *negative component* of an element `a` of a `lattice_ordered_add_comm_group`
* `|a| = a⊔(-a)`: The *absolute value* of an element `a` of a `lattice_ordered_add_comm_group`

universe u

/--
A group (α,*), equipped with a partial order ≤, making α into a lattice, such that, given elements
Copy link
Member

Choose a reason for hiding this comment

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

Please surround all the variables etc with backticks.

Comment on lines +130 to +131
end
}
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
end
}
end }

Comment on lines +143 to +144
end
}
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
end
}
end }

Comment on lines +160 to +162
{ simp, }
},
{ rw ← add_le_add_iff_left (-c), simp, }
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
{ simp, }
},
{ rw ← add_le_add_iff_left (-c), simp, }
{ simp, } },
{ rw ← add_le_add_iff_left (-c), simp, }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants