Zulip Chat Archive
Stream: new members
Topic: Turning a proof by cases into a linear proof
Aniruddh Agarwal (Jun 25 2020 at 17:12):
Consider the following proof:
def non_decreasing (f : ℝ → ℝ) := ∀ x₁ x₂, x₁ ≤ x₂ → f x₁ ≤ f x₂
example (f : ℝ → ℝ) (h : non_decreasing f) (h' : ∀ x, f (f x) = x) : ∀ x, f x = x :=
begin
intro x,
specialize h' x,
unfold non_decreasing at h,
cases le_total (f x) x with,
{ specialize h (f x) x h_1,
rw h' at h,
exact le_antisymm h_1 h },
{ specialize h x (f x) h_1,
rw h' at h,
exact le_antisymm h h_1 }
end
The proof for each case is basically the same (with the only difference being the calls to le_antisymm, which are also the same modulo the symmetry of equality). Is there any way I can make the proof completely linear?
Yakov Pechersky (Jun 25 2020 at 17:51):
example (f : ℝ → ℝ) (h : non_decreasing f) (h' : ∀ x, f (f x) = x) : ∀ x, f x = x :=
begin
intro x,
specialize h' x,
cases le_total x (f x);
linarith [h _ _ h_1]
end
Yakov Pechersky (Jun 25 2020 at 17:52):
Still splits into cases, but both are just dealing with linear arithmetic, as you pointed out, and the terms can be inferred from the goal for the h
hypothesis
Aniruddh Agarwal (Jun 25 2020 at 17:57):
Thanks!
Aniruddh Agarwal (Jun 25 2020 at 17:59):
This wasn't quite what I was hoping for, but I'm still very satisfied with the solution you provided
Yakov Pechersky (Jun 25 2020 at 18:02):
What were you hoping for?
Aniruddh Agarwal (Jun 25 2020 at 18:08):
I'm not sure honestly
Jalex Stark (Jun 25 2020 at 20:49):
you might have been looking for tactic#wlog
Aniruddh Agarwal (Jun 26 2020 at 00:28):
Jalex Stark said:
you might have been looking for tactic#wlog
Can you explain?
Jalex Stark (Jun 26 2020 at 00:30):
it is supposed to be similar to the mathematician's "without loss of generality", which means "if you give me a proof of one case, I'll show you how to turn it into a proof of the others"
Jalex Stark (Jun 26 2020 at 00:30):
i, uh, don't really know how to use it
Aniruddh Agarwal (Jun 26 2020 at 00:31):
I'll have to remind myself of what I was originally trying to do, but I'll take a look at this in a few minutes. wlog
sounds like it could be very useful
Kevin Buzzard (Jun 26 2020 at 07:06):
It's not as powerful as mathematician's WLOG. I'm not sure it's up to this task.
Last updated: Dec 20 2023 at 11:08 UTC