elims_2: fixes x :: "nat"   and xa :: "nat"   and xb :: "floatarith"   and xc :: "float interval option list" assumes "isDERIV_approx x xa xb xc" obtains prec :: "nat" and xd :: "nat" and a :: "floatarith" and b :: "floatarith" and vs :: "float interval option list" where "x = prec__" and "xa = xd__" and "xb = Add a__ b__" and "xc = vs__" and "isDERIV_approx prec__ xd__ a__ vs__ \<and> isDERIV_approx prec__ xd__ b__ vs__"   | prec :: "nat" and xd :: "nat" and a :: "floatarith" and b :: "floatarith" and vs :: "float interval option list" where "x = preca__" and "xa = xda__" and "xb = Mult aa__ ba__" and "xc = vsa__" and "isDERIV_approx preca__ xda__ aa__ vsa__ \<and> isDERIV_approx preca__ xda__ ba__ vsa__"   | prec :: "nat" and xd :: "nat" and a :: "floatarith" and vs :: "float interval option list" where "x = precb__" and "xa = xdb__" and "xb = Minus ab__" and "xc = vsb__" and "isDERIV_approx precb__ xdb__ ab__ vsb__"   | prec :: "nat" and xd :: "nat" and a :: "floatarith" and vs :: "float interval option list" where "x = precc__" and "xa = xdc__" and "xb = Inverse ac__" and "xc = vsc__" and "isDERIV_approx precc__ xdc__ ac__ vsc__ \<and> (case approx precc__ ac__ vsc__ of None \<Rightarrow> False | Some ivl \<Rightarrow> 0 < lower ivl \<or> upper ivl < 0)"   | prec :: "nat" and xd :: "nat" and a :: "floatarith" and vs :: "float interval option list" where "x = precd__" and "xa = xdd__" and "xb = Cos ad__" and "xc = vsd__" and "isDERIV_approx precd__ xdd__ ad__ vsd__"   | prec :: "nat" and xd :: "nat" and a :: "floatarith" and vs :: "float interval option list" where "x = prece__" and "xa = xde__" and "xb = Arctan ae__" and "xc = vse__" and "isDERIV_approx prece__ xde__ ae__ vse__"   | prec :: "nat" and xd :: "nat" and vs :: "float interval option list" where "x = precf__" and "xa = xdf__" and "xb = Pi" and "xc = vsf__"   | prec :: "nat" and xd :: "nat" and a :: "floatarith" and vs :: "float interval option list" where "x = precg__" and "xa = xdg__" and "xb = Sqrt af__" and "xc = vsg__" and "isDERIV_approx precg__ xdg__ af__ vsg__ \<and> (case approx precg__ af__ vsg__ of None \<Rightarrow> False | Some ivl \<Rightarrow> 0 < lower ivl)"   | prec :: "nat" and xd :: "nat" and a :: "floatarith" and vs :: "float interval option list" where "x = prech__" and "xa = xdh__" and "xb = Exp ag__" and "xc = vsh__" and "isDERIV_approx prech__ xdh__ ag__ vsh__"   | prec :: "nat" and xd :: "nat" and a :: "floatarith" and b :: "floatarith" and vs :: "float interval option list" where "x = preci__" and "xa = xdi__" and "xb = Powr ah__ b" and "xc = vsi__" and "isDERIV_approx preci__ xdi__ ah__ vsi__ \<and> isDERIV_approx preci__ xdi__ b vsi__ \<and> (case approx preci__ ah__ vsi__ of None \<Rightarrow> False | Some ivl \<Rightarrow> 0 < lower ivl)"   | prec :: "nat" and xd :: "nat" and a :: "floatarith" and vs :: "float interval option list" where "x = precj__" and "xa = xdj__" and "xb = Ln ai__" and "xc = vsj__" and "isDERIV_approx precj__ xdj__ ai__ vsj__ \<and> (case approx precj__ ai__ vsj__ of None \<Rightarrow> False | Some ivl \<Rightarrow> 0 < lower ivl)"   | prec :: "nat" and xd :: "nat" and a :: "floatarith" and vs :: "float interval option list" where "x = preck__" and "xa = xdk__" and "xb = Power aj__ 0" and "xc = vsk__"   | prec :: "nat" and xd :: "nat" and a :: "floatarith" and vs :: "float interval option list" where "x = precl__" and "xa = xdl__" and "xb = Floor ak__" and "xc = vsl__" and "isDERIV_approx precl__ xdl__ ak__ vsl__ \<and> (case approx precl__ ak__ vsl__ of None \<Rightarrow> False | Some ivl \<Rightarrow> real_of_int \<lfloor>real_of_float (upper ivl)\<rfloor> < real_of_float (lower ivl) \<and> real_of_float (upper ivl) < real_of_int \<lceil>real_of_float (lower ivl)\<rceil>)"   | prec :: "nat" and xd :: "nat" and a :: "floatarith" and n :: "nat" and vs :: "float interval option list" where "x = precm__" and "xa = xdm__" and "xb = Power a (Suc n__)" and "xc = vsm__" and "isDERIV_approx precm__ xdm__ a vsm__"   | prec :: "nat" and xd :: "nat" and f :: "float" and vs :: "float interval option list" where "x = precn__" and "xa = xdn__" and "xb = Num f" and "xc = vsn__"   | prec :: "nat" and xd :: "nat" and n :: "nat" and vs :: "float interval option list" where "x = prec" and "xa = xd" and "xb = Var n" and "xc = vs"