Larry Paulson
2015-03-04 20:16:13 UTC
I’m afraid you haven’t formulated your problem correctly:
lemma lm1:
assumes "∀h w. h * win_prob w ≤ util (w+h) - util w"
"∀h w. util (w+h) - util w ≤ h*win_prob (w+h)"
and "∀h. (h::real) > 0"
shows "∀w. (λh. (util (w+h) - util w)/h) -- 0 --> win_prob w"
You are assuming ∀h. (h::real) > 0, which is false of course, because 0 is a real number.
Larry Paulson
lemma lm1:
assumes "∀h w. h * win_prob w ≤ util (w+h) - util w"
"∀h w. util (w+h) - util w ≤ h*win_prob (w+h)"
and "∀h. (h::real) > 0"
shows "∀w. (λh. (util (w+h) - util w)/h) -- 0 --> win_prob w"
You are assuming ∀h. (h::real) > 0, which is false of course, because 0 is a real number.
Larry Paulson
Dear Isabelle users,
I'm relatively new to Isabelle and I'm having trouble proving a step in a
1. S(v) ≥ S(v+dv) + (-dv)*P(v+dv)
2. S(v+dv) ≥ S(v) + (dv)*P(v)
3. P(v+dv) ≥ (S(v+dv) - S(v)) / dv ≥ P(v)
Now taking the limit as dv --> 0, we have
4. dS/dv = P(v)
using the sandwich theorem and limit definition of derivative.
I can prove this if I explicity assume that dv > 0 or dv < 0. The proof
when dv > 0 is attached. If dv < 0, the inequalities just change sign when
dividing, and after taking the limit, we reach the same result. However, I
understand that when you take a limit, you just look at the behavior of the
expression as it approaches the limiting value. The actual value of the
expression at the limiting value is irrelevant for a limit.
When I attempt to prove this in Isabelle, I have to assume that dv ≠ 0
before I can divide by it, even though I intend to take limits. My question
is how I can prove the final result without having to assume this?
Regards,
Aadish
<problem1.thy>
I'm relatively new to Isabelle and I'm having trouble proving a step in a
1. S(v) ≥ S(v+dv) + (-dv)*P(v+dv)
2. S(v+dv) ≥ S(v) + (dv)*P(v)
3. P(v+dv) ≥ (S(v+dv) - S(v)) / dv ≥ P(v)
Now taking the limit as dv --> 0, we have
4. dS/dv = P(v)
using the sandwich theorem and limit definition of derivative.
I can prove this if I explicity assume that dv > 0 or dv < 0. The proof
when dv > 0 is attached. If dv < 0, the inequalities just change sign when
dividing, and after taking the limit, we reach the same result. However, I
understand that when you take a limit, you just look at the behavior of the
expression as it approaches the limiting value. The actual value of the
expression at the limiting value is irrelevant for a limit.
When I attempt to prove this in Isabelle, I have to assume that dv ≠ 0
before I can divide by it, even though I intend to take limits. My question
is how I can prove the final result without having to assume this?
Regards,
Aadish
<problem1.thy>