Skip to content

[Merged by Bors] - feat(FieldTheory/Differential/Liouville): prove the algebraic case of Liouville's theorem#16797

Closed
Command-Master wants to merge 142 commits intomasterfrom
CM_lioalg
Closed

[Merged by Bors] - feat(FieldTheory/Differential/Liouville): prove the algebraic case of Liouville's theorem#16797
Command-Master wants to merge 142 commits intomasterfrom
CM_lioalg

Conversation

@Command-Master
Copy link
Copy Markdown
Collaborator

@Command-Master Command-Master commented Sep 14, 2024

@Command-Master
Copy link
Copy Markdown
Collaborator Author

!bench

@leanprover-bot
Copy link
Copy Markdown
Collaborator

Here are the benchmark results for commit e74605f.
The entire run failed.
Found no significant differences.

@Command-Master
Copy link
Copy Markdown
Collaborator Author

!bench

1 similar comment
@Command-Master
Copy link
Copy Markdown
Collaborator Author

!bench

@leanprover-bot
Copy link
Copy Markdown
Collaborator

Here are the benchmark results for commit 56e4164.
There were significant changes against commit a38db99:

  Benchmark                                 Metric         Change
  ===============================================================
- ~Mathlib.FieldTheory.Differential.Basic   instructions   169.6%

Command-Master and others added 3 commits January 6, 2025 10:32
Co-authored-by: Johan Commelin <johan@commelin.net>
Co-authored-by: Johan Commelin <johan@commelin.net>
@AntoineChambert-Loir
Copy link
Copy Markdown
Collaborator

The only point that bothers me is that the assumptions of the kind IsLiouville are all provided as typeclasses and instance, and I don't feel that in practical cases, the typeclass inference system would find the correct ones by itself. Otherwise, it looks good to me.

@Command-Master
Copy link
Copy Markdown
Collaborator Author

The only point that bothers me is that the assumptions of the kind IsLiouville are all provided as typeclasses and instance, and I don't feel that in practical cases, the typeclass inference system would find the correct ones by itself. Otherwise, it looks good to me.

It works in isLiouville_of_finiteDimensional, and I think it would also work well in general

written in that way with `v, cᵢ, uᵢ ∈ F`.
-/
class IsLiouville : Prop where
isLiouville (a : F) (ι : Type) [Fintype ι] (c : ι → F) (hc : ∀ x, (c x)′ = 0)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Should this be (c : ι → K), with K instead of F?
Or does that not matter?

Also, would you mind using different symbols in the conclusion, instead of c', u', v'. It looks a bit too much like the differential, eg in (c x)'.
Maybe c_0, u_0, v_0 instead?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

In Liouville's theorem we have a shared field of constants, so it doesn't matter. I don't know if this definition is useful in other cases, and what's the appropriate range in that case

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

I'll use different symbols, but note that the differential uses ′, not ' - github simply displays them the same way in code blocks

@jcommelin
Copy link
Copy Markdown
Member

Thanks 🎉

bors merge

@ghost ghost added the ready-to-merge This PR has been sent to bors. label Jan 10, 2025
mathlib-bors bot pushed a commit that referenced this pull request Jan 10, 2025
… Liouville's theorem (#16797)

Co-authored-by: Daniel Weber <55664973+Command-Master@users.noreply.github.com>
@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Jan 10, 2025

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title feat(FieldTheory/Differential/Liouville): prove the algebraic case of Liouville's theorem [Merged by Bors] - feat(FieldTheory/Differential/Liouville): prove the algebraic case of Liouville's theorem Jan 10, 2025
@mathlib-bors mathlib-bors bot closed this Jan 10, 2025
@mathlib-bors mathlib-bors bot deleted the CM_lioalg branch January 10, 2025 18:59
grunweg pushed a commit that referenced this pull request Jan 11, 2025
… Liouville's theorem (#16797)

Co-authored-by: Daniel Weber <55664973+Command-Master@users.noreply.github.com>
Julian added a commit that referenced this pull request Jan 12, 2025
* origin/master: (88 commits)
  chore(scripts): update nolints.json (#20672)
  chore: de-simp `map_eq_zero_iff_eq_one` (#20662)
  feat(Combinatorics/SimpleGraph): add independent sets (#18608)
  chore(CategoryTheory/Limits/Cones): functoriality of `mapCone` (#20641)
  feat(Algebra/Category/ModuleCat): pullback of presheaves of modules (#17366)
  feat(AlgebraicTopology): model categories (#19158)
  chore(CategoryTheory): make NormalEpi/MonoCategory and RegularEpi/MonoCategory props (#19548)
  feat(Data/List/ReduceOption): add replicate theorems (#20644)
  feat: approximate subgroups (#20050)
  feat: use scoped trace nodes in linarith (#19855)
  feat: disjoint union of charted spaces (#20619)
  feat: add some term elaborators for reduction (#15192)
  feat(Topology/Category): category of delta-generated spaces (#19499)
  add a variable_alias for Quantale and AddQuantale (#19282)
  feat(Computability/DFA): implement `isRegular_iff` (#19940)
  chore: unpin and bump batteries and importgraph (#20651)
  chore: split `Mathlib/Algebra/Group/Int` (#20624)
  feat: three lemmas related to Hausdorff distance (#20585)
  chore: `initialize_simps_projections` for `Submodule` (#20582)
  feat(Order): Boolean algebra structure on idempotents (#20618)
  chore(CategoryTheory): moving/renaming Subpresheaf (#20583)
  refactor(IntermediateField/Adjoin): Split off relation to `Algebra.adjoin` (#20630)
  feat: sets of doubling strictly less than 3/2 (#20572)
  chore(TensorProduct): universe polymorphism in EquationalCriterion (#20452)
  feat: `s \ t ∩ u = (s ∩ u) \ t` (#20298)
  feat: product of subalgebras (#20202)
  feat: `Submodule.restrictScalars` commutes with `pow` (#20581)
  feat: `a ∈ s ^ n` iff there exists a sequence `f` of `n` elements of `s` such that `∏ i, f i = a` (#20580)
  chore: make `FooHom.coe_id` a `norm_cast` lemma (#20576)
  chore: use ofNat more (#20546)
  feat(CategoryTheory/Shift/Opposite and CategoryTheory/Shift/Pullback): `CommShift` structures on adjunctions are compatible with opposites and pullbacks (#20363)
  feat(FieldTheory/Differential/Liouville): prove the algebraic case of Liouville's theorem (#16797)
  refactor: remove the `CompactSpace` field from `Unique{NonUnital}ContinuousFunctionalCalculus` (#20590)
  feat: Make `PNat.recOn` induction eliminator (#20617)
  feat(Analysis/SpecialFunctions/Pow/Real): add some lemmas (#20608)
  feat: If `s ∆ t` is finite, then `s ∆ u` is finite iff `t ∆ u` is (#20574)
  feat: `⨅ i, f i ≤ ⨆ i, f i` (#20573)
  chore(Geometry/Manifold): move SmoothManifoldWithCorners.lean to IsManifold.lean (#20611)
  feat: AbsoluteValue.IsNontrivial (#20588)
  chore(Data/Finsupp): split off extensionality from `Defs.lean` (#19092)
  chore(Data/Set): split the `CoeSort` instance to its own file (#19031)
  feat(Algebra/Order/Archimedean/Basic): powers between two elements (#20612)
  feature(Algebra/Ring/Idempotents): product of an idempotent and its complement (#20286)
  chore: cleanup more `erw` (#20601)
  chore(GroupTheory/CoprodI): shorten proof of lift_word_prod_nontrivial_of_not_empty (#20587)
  chore: cleanup imports in PrimePow/Divisors (#20626)
  chore: split Algebra/BigOperators/Group/List (#20625)
  chore: reduce Topology->Order imports by moving content (#20627)
  chore(Algebra/Lie/DirectSum): shorten proof of lieAlgebraOf.map_lie' (#20592)
  refactor: Split `FieldTheory/Adjoin.lean` into `Defs.lean` and `Basic.lean` (#20333)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

large-import Automatically added label for PRs with a significant increase in transitive imports ready-to-merge This PR has been sent to bors. t-algebra Algebra (groups, rings, fields, etc)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants