constructor
case succ.false
x : ENat
n : Nat
ih : x ≤ ENat.ofNat n → ∃ m, m ≤ n ∧ x = ENat.ofNat m
h : x ≤ ENat.ofNat (n + 1)
hn : ENat.ofNat n < x
⊢ n + 1 ≤ n + 1 ∧ x = ENat.ofNat (n + 1)
case succ.false.left
x : ENat
n : Nat
ih : x ≤ ENat.ofNat n → ∃ m, m ≤ n ∧ x = ENat.ofNat m
h : x ≤ ENat.ofNat (n + 1)
hn : ENat.ofNat n < x
⊢ n + 1 ≤ n + 1

case succ.false.right
x : ENat
n : Nat
ih : x ≤ ENat.ofNat n → ∃ m, m ≤ n ∧ x = ENat.ofNat m
h : x ≤ ENat.ofNat (n + 1)
hn : ENat.ofNat n < x
⊢ x = ENat.ofNat (n + 1)