Zulip Chat Archive
Stream: general
Topic: bye `decidable_linear_order`
Yury G. Kudryashov (Oct 24 2020 at 04:16):
In lean#484 I merge linear_order
with decidable_linear_order
. In #4762 I'm trying to fix mathlib build. I could definitely use some help in this task. The PR already touches 100 files.
Heather Macbeth (Oct 24 2020 at 04:25):
Sure, what can I do? Do you want to give me some files to fix?
Johan Commelin (Oct 24 2020 at 04:26):
I can also help. I guess it's good to make sure that we don't step on each others toes...
Yury G. Kudryashov (Oct 24 2020 at 04:27):
Pushed
Yury G. Kudryashov (Oct 24 2020 at 04:27):
I'm fixing filter_product
. You're free to fix any other file.
Yury G. Kudryashov (Oct 24 2020 at 04:29):
Main API changes:
- remove
decidable_linear_order
; - remove all
decidable_linear_*
groups etc, includingdiscrete_*field
Yury G. Kudryashov (Oct 24 2020 at 04:31):
I did some search&replace, so should be no more decidable_linear*
in the repository
Yury G. Kudryashov (Oct 24 2020 at 04:31):
Once you choose a file, tell the others here, please.
Yury G. Kudryashov (Oct 24 2020 at 04:32):
I'm done with filter_product
, moving to data/real/basic
Johan Commelin (Oct 24 2020 at 04:37):
Note: 24daef0aff0716188b82300b2d629ca04696057e
has cached oleans available
Yury G. Kudryashov (Oct 24 2020 at 04:39):
I'm not sure what should we do with real.ordered_ring
etc. Currently proofs rely on linear_order
which is going to become noncomputable
. @Mario Carneiro Do you want to rewrite some proofs, or should I just make more instances noncomputable?
Yury G. Kudryashov (Oct 24 2020 at 04:40):
Note that some failures are because of https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/conv.20in.20lean.20master
Johan Commelin (Oct 24 2020 at 04:40):
It's about the real
s, right? Aren't those already noncomputable in every sense?
Yury G. Kudryashov (Oct 24 2020 at 04:40):
And possibly we should skip them and hope that @Gabriel Ebner and @Eric Wieser will fix it in lean.
Yury G. Kudryashov (Oct 24 2020 at 04:41):
(+)
and (*)
are formally "computable"
Yury G. Kudryashov (Oct 24 2020 at 04:41):
But I see no practical value in this "computable".
Yury G. Kudryashov (Oct 24 2020 at 04:42):
They're computable in the following sense: given sequences approximating a
and b
, you can write down a sequence approximating a + b
.
Johan Commelin (Oct 24 2020 at 04:42):
So maybe real.comm_ring
can be computable, and then real.ordered_ring
is not?
Mario Carneiro (Oct 24 2020 at 04:44):
@Yury G. Kudryashov real.linear_ordered_comm_ring
was chosen to be the strongest class which can be derived on real
that is computable
Yury G. Kudryashov (Oct 24 2020 at 04:46):
But linear_order
now includes decidable_*
Mario Carneiro (Oct 24 2020 at 04:46):
I would suggest proving all the maximal elements of the poset of instances that are computable
Yury G. Kudryashov (Oct 24 2020 at 04:46):
So it can't be computable anymore
Mario Carneiro (Oct 24 2020 at 04:46):
right, you've pushed the frontier down a bit
Yury G. Kudryashov (Oct 24 2020 at 04:46):
Can you adjust the proofs?
Mario Carneiro (Oct 24 2020 at 04:46):
so we need a partial_order real
instance now, and possibly some partial_order based ring proof
Mario Carneiro (Oct 24 2020 at 04:46):
It's just a subset of fields
Yury G. Kudryashov (Oct 24 2020 at 04:47):
I would prefer to avoid dealing with cau_seq
and the definition of real
if possible.
Mario Carneiro (Oct 24 2020 at 04:47):
Basically, the idea is to have all the same instances as we do currently, but ensure that nothing is noncomputable unless it has to be
Mario Carneiro (Oct 24 2020 at 04:48):
so the question comes down to which instances are noncomputable
Yury G. Kudryashov (Oct 24 2020 at 04:48):
E.g., the proof of add_le_add_left
relies on linear_order
.
Yury G. Kudryashov (Oct 24 2020 at 04:49):
So it has to be adjusted.
Mario Carneiro (Oct 24 2020 at 04:49):
what instance is that part of?
Johan Commelin (Oct 24 2020 at 04:49):
I will attempt topology/algebra/ordered.lean
Yury G. Kudryashov (Oct 24 2020 at 04:49):
E.g., ordered_add_comm_group
or ordered_ring
Yury G. Kudryashov (Oct 24 2020 at 04:49):
I know how to fix it.
Mario Carneiro (Oct 24 2020 at 04:51):
Actually you can probably prove it using linear_order real
Mario Carneiro (Oct 24 2020 at 04:52):
because it's in a proof
Yury G. Kudryashov (Oct 24 2020 at 05:01):
@Mario Carneiro Could you please have a look at https://github.com/leanprover-community/mathlib/pull/4762/files#diff-6abf6bbce2c44f1e6e6680b121362215a4139aaeebe1c010f364b253eebbc5e9 ?
Yury G. Kudryashov (Oct 24 2020 at 05:04):
I'm going to fix data/complex/exponential
Mario Carneiro (Oct 24 2020 at 05:04):
I have some other stuff to attend to right now but I will be back in a few hours
Yury G. Kudryashov (Oct 24 2020 at 05:06):
Actually, data/complex/exponential
is about conv
+find
Johan Commelin (Oct 24 2020 at 05:08):
data/padics/padic_numbers.lean
Yury G. Kudryashov (Oct 24 2020 at 05:12):
real/hyperreal
Johan Commelin (Oct 24 2020 at 05:16):
padics/ring_homs
Johan Commelin (Oct 24 2020 at 05:22):
I think we're almost done!
Heather Macbeth (Oct 24 2020 at 05:23):
Indeed, I was just trying to find something to work on (I am slower than you!) and couldn't.
Yury G. Kudryashov (Oct 24 2020 at 05:25):
My computer already compiles manifold.times_cont_mdiff
, and so far conv
+find
is the only remaining error.
Yury G. Kudryashov (Oct 24 2020 at 05:26):
@Heather Macbeth Then you can start reviewing the PR!
Johan Commelin (Oct 24 2020 at 05:26):
I've fixed complex/exponential
Johan Commelin (Oct 24 2020 at 05:26):
Didn't want to wait on the conv fix
Heather Macbeth (Oct 24 2020 at 05:27):
@Yury G. Kudryashov OK, but I am not qualified to review this computability-of-real.linear_ordered_comm_ring
issue which you were discussing with Mario.
Yury G. Kudryashov (Oct 24 2020 at 05:28):
I hope, Mario will review this part.
Johan Commelin (Oct 24 2020 at 05:29):
I have a version that compiles without errors
Yury G. Kudryashov (Oct 24 2020 at 05:30):
Now we need someone to make a new release of Lean before this PR rots.
Johan Commelin (Oct 24 2020 at 05:36):
@Yury G. Kudryashov This is how you make a new release: https://github.com/leanprover-community/lean/commit/cc729642c39f9a5d66e45c1c92066bd8bec7d282
Bryan Gin-ge Chen (Oct 24 2020 at 05:36):
Do you mind writing a few sentences on the motivation for this for the commit message of lean#484? I'd be happy to merge it and make a new release of Lean after Mario gives his OK.
Yury G. Kudryashov (Oct 24 2020 at 06:47):
I think that the new release should wait for https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/conv.20in.20lean.20master
Yury G. Kudryashov (Oct 24 2020 at 06:49):
After lean#482 some of conv in ...
in mathlib
started to fail.
Mario Carneiro (Oct 24 2020 at 09:32):
what am I supposed to be reviewing again?
Johan Commelin (Oct 24 2020 at 09:37):
Yury G. Kudryashov said:
Mario Carneiro Could you please have a look at https://github.com/leanprover-community/mathlib/pull/4762/files#diff-6abf6bbce2c44f1e6e6680b121362215a4139aaeebe1c010f364b253eebbc5e9 ?
:up:
Mario Carneiro (Oct 24 2020 at 10:08):
I looked at it
Mario Carneiro (Oct 24 2020 at 10:08):
it looks like it's working
Bryan Gin-ge Chen (Oct 24 2020 at 15:04):
I approved lean#484. In the end I just added a link to this thread in the PR comment.
I don't feel qualified to figure out how to fix the issues related to lean#482.
Eric Wieser (Oct 24 2020 at 15:06):
Regarding lean#482, I think basically the contents of this discussion turned out to be a mistake:
https://github.com/leanprover-community/lean/pull/476#discussion_r503264366
Bryan Gin-ge Chen (Oct 24 2020 at 15:07):
Can you make a PR that resolves things? (Sorry, I haven't been following the discussion there or in the other thread in detail.)
Eric Wieser (Oct 24 2020 at 15:12):
Done in lean#485. Can someone else commit a test to that branch that demonstrates the behavior that broke?
Yury G. Kudryashov (Oct 24 2020 at 15:27):
I don't understand what exactly went wrong, so I guess I can't help creating a test that doesn't depend on mathlib.
Eric Wieser (Oct 24 2020 at 15:41):
I think even basic writing under binders broke
Yury G. Kudryashov (Oct 26 2020 at 15:04):
@Bryan Gin-ge Chen @Gabriel Ebner Are we ready for a new release?
Bryan Gin-ge Chen (Oct 26 2020 at 15:07):
I can make one this evening if Gabriel doesn't get to it before then.
Yury G. Kudryashov (Oct 26 2020 at 15:23):
In the meantime I made a tag in my repo and switched mathlib branch to this tag.
Yury G. Kudryashov (Oct 26 2020 at 15:46):
@maintainers #4762 is ready for review. It touches 103 files, so I'd love to see it merged soon (but no sooner than we actually have the corresponding lean release).
Last updated: Dec 20 2023 at 11:08 UTC