When I do induction over a variable $x$ in lean 4, why isn't $x=0$ available as a fact in the base case of the induction? Without this fact, I can't rewrite other facts in order to make the induction work.
For example, if I run this:
structure Odds where
lose : Nat
win : Nat
def odds_leq (a b : Odds) : Bool := a.win * b.lose <= b.win * a.lose
infixl:45 " ≤ " => odds_leq
infixl:45 " <= " => odds_leq
theorem odds_leq_transitive (a b c: Odds) (ab : a <= b) (bc : b <= c) : a <= c := by
unfold odds_leq
unfold odds_leq at ab
unfold odds_leq at bc
simp
simp at ab
simp at bc
induction a.win
sorry
I get this proof state:
Which is notably lacking a line like h : a.win = 0
in case zero
. It also didn't rewrite ab : a.win + b.lose <= b.win * a.lose
into ab : 0 + b.lose <= b.win * a.lose
.
odd_leq
to be inBool
rather thanProp
? $\endgroup$