\import Algebra.Meta
\import Algebra.Monoid
\import Arith.Real
\import Arith.Real.Field
\import Function.Meta
\import Logic
\import Topology.MetricSpace
\import Topology.NormedAbGroup.Real
\import Topology.TopRing
\instance RealNearField : NearField Real
| CRing => RealField
| TopAbGroup => RealNormed
| *-cont => RealField.*-cover
| inv-dense {x} Uo Ux => \case (dist_open {RealNormed}).1 Uo Ux \with {
| inP (eps,eps>0,h) =>
\have t => rat_real_<.1 eps>0
\in \case real-located {0} {x} {x + RealField.half eps} linarith \with {
| byLeft x<0 => inP (x, RealField.neg#0 x<0, Ux)
| byRight p => inP (x + RealField.half eps, RealField.pos#0 p, h $ real_<_U.1 $ RealAbGroup.abs_-_< linarith linarith)
}
}