fact: Fixpoint interp (l : seq R) (e : expr) : R := match e with | Var n => nth R0 l n | AppExt k f le => apply k f (nth 0 (map (interp l) le)) | AppExtD k f n le => Derive_Rn k f n (nth 0 (map (interp l) le)) | App e1 e2 => interp ((interp l e2) :: l) e1 | Subst e1 e2 => interp (set_nth R0 l 0 (interp l e2)) e1 | Cst c => c | Binary o e1 e2 => match o with Eplus => Rplus | Emult => Rmult end (interp l e1) (interp l e2) | Unary o e => match o with Eopp => Ropp | Einv => Rinv | Efct f f' H => f | Efct' f f' df H => f end (interp l e) | Int e1 e2 e3 => RInt (fun x => interp (x :: l) e1) (interp l e2) (interp l e3) end.
imports: Coq(Reals Datatypes ssreflect ssrbool) mathcomp(seq) Rcomplements Hierarchy Derive RInt RInt_analysis Derive_2d Continuity ElemFct