have h_not_neg : ¬ (z < 0) := by
  intro hcontra
  cases z with
  | ofNat n => contradiction
  | negSucc n => contradiction
case mk
η : Type u_η
dec_η : DecidableEq η
sch : Schema
t : Table sch
z : Int
prop : Int.abs z < nrows t
h : { val := z, property := prop }.val ≥ 0
⊢ Int.ofNat (nrows { rows := if z < 0 then List.dropLastN (Int.abs z) t.rows else List.take (Int.toNat z) t.rows }) = z
case mk
η : Type u_η
dec_η : DecidableEq η
sch : Schema
t : Table sch
z : Int
prop : Int.abs z < nrows t
h : { val := z, property := prop }.val ≥ 0
h_not_neg : ¬z < 0
⊢ Int.ofNat (nrows { rows := if z < 0 then List.dropLastN (Int.abs z) t.rows else List.take (Int.toNat z) t.rows }) = z