enat_to_nat
#
This file implements the enat_to_nat
tactic that shifts ENat
s in the context to Nat
.
Implementation details #
The implementation follows these steps:
- Apply the
cases
tactic to eachENat
variable, producing two goals: one where the variable is⊤
, and one where it is a finite natural number. - Simplify arithmetic expressions involving infinities, making (in)equalities either trivial
or free of infinities. This step uses the
enat_to_nat_top
simp set. - Translate the remaining goals from
ENat
toNat
using theenat_to_nat_coe
simp set.
Finds the first ENat
in the context and applies the cases
tactic to it.
Then simplifies expressions involving ⊤
using the enat_to_nat_top
simp set.