enat_to_nat #
This file implements the enat_to_nat tactic that shifts ENats in the context to Nat.
Implementation details #
The implementation follows these steps:
- Apply the
casestactic to eachENatvariable, 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_topsimp set. - Translate the remaining goals from
ENattoNatusing theenat_to_nat_coesimp 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.