show 0 < (if 0 < Nat.succ (Nat.succ x) ∧ Nat.succ (Nat.succ x) % 2 = 0 then
let vbn_half := val_bin_nat (Nat.succ (Nat.succ x) / 2);
(vbn_half.fst + 1, vbn_half.snd)
else if 0 < Nat.succ (Nat.succ x) then
(0, Nat.succ (Nat.succ x))
else
(0, 0)).snd
case succ.refl.inl
x : ℕ
ih : ∀ (y : ℕ), y ≤ x → 0 < (val_bin_nat (Nat.succ y)).snd
even : Nat.succ (Nat.succ x) % 2 = 0
h : 0 < Nat.succ (Nat.succ x) ∧ Nat.succ (Nat.succ x) % 2 = 0
⊢ 0 < (val_bin_nat (Nat.succ (Nat.succ x))).snd
case succ.refl.inl
x : ℕ
ih : ∀ (y : ℕ), y ≤ x → 0 < (val_bin_nat (Nat.succ y)).snd
even : Nat.succ (Nat.succ x) % 2 = 0
h : 0 < Nat.succ (Nat.succ x) ∧ Nat.succ (Nat.succ x) % 2 = 0
⊢ 0 <
    (if 0 < Nat.succ (Nat.succ x) ∧ Nat.succ (Nat.succ x) % 2 = 0 then
        let vbn_half := val_bin_nat (Nat.succ (Nat.succ x) / 2);
        (vbn_half.fst + 1, vbn_half.snd)
      else if 0 < Nat.succ (Nat.succ x) then (0, Nat.succ (Nat.succ x)) else (0, 0)).snd