[STATEMENT]
lemma approx_tm_range:
  assumes a: "a all_subset I"
  assumes t_def: "approx_tm prec ord I a f env = Some t"
  assumes allin: "xs all_in\<^sub>i range_tms e env"
  assumes devs: "develops_at_within e a I"
  assumes env: "\<And>tm. tm \<in> set env \<Longrightarrow> num_params (tm_poly tm) \<le> length I"
  shows "interpret_floatarith f xs \<in>\<^sub>i range_tm e t"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. interpret_floatarith f xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
using t_def
[PROOF STATE]
proof (prove)
using this:
approx_tm prec ord I a f env = Some t

goal (1 subgoal):
 1. interpret_floatarith f xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
proof(induct f arbitrary: t)
[PROOF STATE]
proof (state)
goal (18 subgoals):
 1. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Add f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Add f1 f2) xs \<in>\<^sub>i range_tm e t
 2. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Minus f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Minus f) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Mult f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Mult f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Inverse f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Inverse f) xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Cos f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Cos f) xs \<in>\<^sub>i range_tm e t
 6. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 7. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 8. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 9. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 10. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
A total of 18 subgoals...
[PROOF STEP]
case (Var n)
[PROOF STATE]
proof (state)
this:
approx_tm prec ord I a (Var n) env = Some t

goal (18 subgoals):
 1. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Add f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Add f1 f2) xs \<in>\<^sub>i range_tm e t
 2. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Minus f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Minus f) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Mult f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Mult f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Inverse f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Inverse f) xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Cos f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Cos f) xs \<in>\<^sub>i range_tm e t
 6. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 7. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 8. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 9. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 10. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
A total of 18 subgoals...
[PROOF STEP]
thus ?case
[PROOF STATE]
proof (prove)
using this:
approx_tm prec ord I a (Var n) env = Some t

goal (1 subgoal):
 1. interpret_floatarith (Var n) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
using assms(2) allin approx_tm_num_Vars[of prec ord I a "Var n" env t]
[PROOF STATE]
proof (prove)
using this:
approx_tm prec ord I a (Var n) env = Some t
approx_tm prec ord I a f env = Some t
xs all_in\<^sub>i range_tms e env
approx_tm prec ord I a (Var n) env = Some t \<Longrightarrow> max_Var_floatarith (Var n) \<le> length env

goal (1 subgoal):
 1. interpret_floatarith (Var n) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
by (auto simp: all_in_i_def range_tms_def)
[PROOF STATE]
proof (state)
this:
interpret_floatarith (Var n) xs \<in>\<^sub>i range_tm e t

goal (17 subgoals):
 1. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Add f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Add f1 f2) xs \<in>\<^sub>i range_tm e t
 2. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Minus f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Minus f) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Mult f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Mult f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Inverse f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Inverse f) xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Cos f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Cos f) xs \<in>\<^sub>i range_tm e t
 6. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 7. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 8. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 9. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 10. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
A total of 17 subgoals...
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (17 subgoals):
 1. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Add f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Add f1 f2) xs \<in>\<^sub>i range_tm e t
 2. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Minus f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Minus f) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Mult f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Mult f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Inverse f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Inverse f) xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Cos f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Cos f) xs \<in>\<^sub>i range_tm e t
 6. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 7. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 8. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 9. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 10. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
A total of 17 subgoals...
[PROOF STEP]
case (Num c)
[PROOF STATE]
proof (state)
this:
approx_tm prec ord I a (Num c) env = Some t

goal (17 subgoals):
 1. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Add f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Add f1 f2) xs \<in>\<^sub>i range_tm e t
 2. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Minus f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Minus f) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Mult f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Mult f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Inverse f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Inverse f) xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Cos f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Cos f) xs \<in>\<^sub>i range_tm e t
 6. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 7. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 8. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 9. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 10. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
A total of 17 subgoals...
[PROOF STEP]
thus ?case
[PROOF STATE]
proof (prove)
using this:
approx_tm prec ord I a (Num c) env = Some t

goal (1 subgoal):
 1. interpret_floatarith (Num c) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
using assms(2)
[PROOF STATE]
proof (prove)
using this:
approx_tm prec ord I a (Num c) env = Some t
approx_tm prec ord I a f env = Some t

goal (1 subgoal):
 1. interpret_floatarith (Num c) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
by (auto simp add: assms(3))
[PROOF STATE]
proof (state)
this:
interpret_floatarith (Num c) xs \<in>\<^sub>i range_tm e t

goal (16 subgoals):
 1. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Add f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Add f1 f2) xs \<in>\<^sub>i range_tm e t
 2. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Minus f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Minus f) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Mult f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Mult f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Inverse f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Inverse f) xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Cos f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Cos f) xs \<in>\<^sub>i range_tm e t
 6. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 7. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 8. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 9. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 10. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
A total of 16 subgoals...
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (16 subgoals):
 1. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Add f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Add f1 f2) xs \<in>\<^sub>i range_tm e t
 2. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Minus f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Minus f) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Mult f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Mult f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Inverse f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Inverse f) xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Cos f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Cos f) xs \<in>\<^sub>i range_tm e t
 6. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 7. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 8. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 9. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 10. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
A total of 16 subgoals...
[PROOF STEP]
case (Add l r t)
[PROOF STATE]
proof (state)
this:
approx_tm prec ord I a l env = Some ?t \<Longrightarrow> interpret_floatarith l xs \<in>\<^sub>i range_tm e ?t
approx_tm prec ord I a r env = Some ?t \<Longrightarrow> interpret_floatarith r xs \<in>\<^sub>i range_tm e ?t
approx_tm prec ord I a (Add l r) env = Some t

goal (16 subgoals):
 1. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Add f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Add f1 f2) xs \<in>\<^sub>i range_tm e t
 2. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Minus f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Minus f) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Mult f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Mult f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Inverse f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Inverse f) xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Cos f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Cos f) xs \<in>\<^sub>i range_tm e t
 6. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 7. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 8. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 9. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 10. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
A total of 16 subgoals...
[PROOF STEP]
obtain t1 where t1_def: "approx_tm prec ord I a l env = Some t1"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. (\<And>t1. approx_tm prec ord I a l env = Some t1 \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
by (metis (no_types, lifting) Add(3) approx_tm.simps(3) option.case_eq_if option.collapse prod.case)
[PROOF STATE]
proof (state)
this:
approx_tm prec ord I a l env = Some t1

goal (16 subgoals):
 1. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Add f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Add f1 f2) xs \<in>\<^sub>i range_tm e t
 2. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Minus f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Minus f) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Mult f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Mult f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Inverse f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Inverse f) xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Cos f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Cos f) xs \<in>\<^sub>i range_tm e t
 6. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 7. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 8. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 9. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 10. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
A total of 16 subgoals...
[PROOF STEP]
obtain t2 where t2_def: "approx_tm prec ord I a r env = Some t2"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. (\<And>t2. approx_tm prec ord I a r env = Some t2 \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
by (smt Add(3) approx_tm.simps(3) option.case_eq_if option.collapse prod.case)
[PROOF STATE]
proof (state)
this:
approx_tm prec ord I a r env = Some t2

goal (16 subgoals):
 1. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Add f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Add f1 f2) xs \<in>\<^sub>i range_tm e t
 2. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Minus f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Minus f) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Mult f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Mult f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Inverse f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Inverse f) xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Cos f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Cos f) xs \<in>\<^sub>i range_tm e t
 6. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 7. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 8. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 9. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 10. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
A total of 16 subgoals...
[PROOF STEP]
have t_def: "t = tm_add t1 t2"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. t = tm_add t1 t2
[PROOF STEP]
using Add(3) t1_def t2_def
[PROOF STATE]
proof (prove)
using this:
approx_tm prec ord I a (Add l r) env = Some t
approx_tm prec ord I a l env = Some t1
approx_tm prec ord I a r env = Some t2

goal (1 subgoal):
 1. t = tm_add t1 t2
[PROOF STEP]
by (metis approx_tm.simps(3) option.case(2) option.inject prod.case)
[PROOF STATE]
proof (state)
this:
t = tm_add t1 t2

goal (16 subgoals):
 1. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Add f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Add f1 f2) xs \<in>\<^sub>i range_tm e t
 2. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Minus f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Minus f) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Mult f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Mult f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Inverse f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Inverse f) xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Cos f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Cos f) xs \<in>\<^sub>i range_tm e t
 6. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 7. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 8. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 9. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 10. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
A total of 16 subgoals...
[PROOF STEP]
have [simp]: "interpret_floatarith (floatarith.Add l r) = interpret_floatarith l + interpret_floatarith r"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. interpret_floatarith (Add l r) = interpret_floatarith l + interpret_floatarith r
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
interpret_floatarith (Add l r) = interpret_floatarith l + interpret_floatarith r

goal (16 subgoals):
 1. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Add f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Add f1 f2) xs \<in>\<^sub>i range_tm e t
 2. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Minus f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Minus f) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Mult f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Mult f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Inverse f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Inverse f) xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Cos f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Cos f) xs \<in>\<^sub>i range_tm e t
 6. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 7. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 8. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 9. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 10. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
A total of 16 subgoals...
[PROOF STEP]
show ?case
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. interpret_floatarith (Add l r) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
using Add
[PROOF STATE]
proof (prove)
using this:
approx_tm prec ord I a l env = Some ?t \<Longrightarrow> interpret_floatarith l xs \<in>\<^sub>i range_tm e ?t
approx_tm prec ord I a r env = Some ?t \<Longrightarrow> interpret_floatarith r xs \<in>\<^sub>i range_tm e ?t
approx_tm prec ord I a (Add l r) env = Some t

goal (1 subgoal):
 1. interpret_floatarith (Add l r) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
by (auto simp: t_def intro!: tm_add_range Add t1_def t2_def)
[PROOF STATE]
proof (state)
this:
interpret_floatarith (Add l r) xs \<in>\<^sub>i range_tm e t

goal (15 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Minus f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Minus f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Mult f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Mult f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Inverse f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Inverse f) xs \<in>\<^sub>i range_tm e t
 4. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Cos f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Cos f) xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 6. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 7. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 8. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 9. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 10. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
A total of 15 subgoals...
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (15 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Minus f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Minus f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Mult f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Mult f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Inverse f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Inverse f) xs \<in>\<^sub>i range_tm e t
 4. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Cos f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Cos f) xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 6. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 7. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 8. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 9. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 10. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
A total of 15 subgoals...
[PROOF STEP]
case (Minus f t)
[PROOF STATE]
proof (state)
this:
approx_tm prec ord I a f env = Some ?t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e ?t
approx_tm prec ord I a (Minus f) env = Some t

goal (15 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Minus f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Minus f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Mult f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Mult f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Inverse f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Inverse f) xs \<in>\<^sub>i range_tm e t
 4. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Cos f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Cos f) xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 6. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 7. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 8. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 9. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 10. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
A total of 15 subgoals...
[PROOF STEP]
have [simp]: "interpret_floatarith (Minus f) = -interpret_floatarith f"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. interpret_floatarith (Minus f) = - interpret_floatarith f
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
interpret_floatarith (Minus f) = - interpret_floatarith f

goal (15 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Minus f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Minus f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Mult f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Mult f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Inverse f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Inverse f) xs \<in>\<^sub>i range_tm e t
 4. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Cos f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Cos f) xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 6. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 7. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 8. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 9. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 10. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
A total of 15 subgoals...
[PROOF STEP]
obtain t1 where t1_def: "approx_tm prec ord I a f env = Some t1"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. (\<And>t1. approx_tm prec ord I a f env = Some t1 \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
by (metis Minus.prems(1) approx_tm.simps(4) map_option_eq_Some)
[PROOF STATE]
proof (state)
this:
approx_tm prec ord I a f env = Some t1

goal (15 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Minus f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Minus f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Mult f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Mult f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Inverse f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Inverse f) xs \<in>\<^sub>i range_tm e t
 4. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Cos f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Cos f) xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 6. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 7. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 8. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 9. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 10. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
A total of 15 subgoals...
[PROOF STEP]
have t_def: "t = tm_neg t1"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. t = tm_neg t1
[PROOF STEP]
by (metis Minus.prems(1) approx_tm.simps(4) option.inject option.simps(9) t1_def)
[PROOF STATE]
proof (state)
this:
t = tm_neg t1

goal (15 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Minus f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Minus f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Mult f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Mult f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Inverse f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Inverse f) xs \<in>\<^sub>i range_tm e t
 4. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Cos f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Cos f) xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 6. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 7. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 8. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 9. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 10. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
A total of 15 subgoals...
[PROOF STEP]
show ?case
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. interpret_floatarith (Minus f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
by (auto simp: t_def intro!: tm_neg_range t1_def Minus)
[PROOF STATE]
proof (state)
this:
interpret_floatarith (Minus f) xs \<in>\<^sub>i range_tm e t

goal (14 subgoals):
 1. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Mult f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Mult f1 f2) xs \<in>\<^sub>i range_tm e t
 2. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Inverse f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Inverse f) xs \<in>\<^sub>i range_tm e t
 3. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Cos f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Cos f) xs \<in>\<^sub>i range_tm e t
 4. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 6. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 7. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 8. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 9. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 10. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Exp f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Exp f) xs \<in>\<^sub>i range_tm e t
A total of 14 subgoals...
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (14 subgoals):
 1. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Mult f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Mult f1 f2) xs \<in>\<^sub>i range_tm e t
 2. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Inverse f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Inverse f) xs \<in>\<^sub>i range_tm e t
 3. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Cos f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Cos f) xs \<in>\<^sub>i range_tm e t
 4. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 6. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 7. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 8. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 9. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 10. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Exp f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Exp f) xs \<in>\<^sub>i range_tm e t
A total of 14 subgoals...
[PROOF STEP]
case (Mult l r t)
[PROOF STATE]
proof (state)
this:
approx_tm prec ord I a l env = Some ?t \<Longrightarrow> interpret_floatarith l xs \<in>\<^sub>i range_tm e ?t
approx_tm prec ord I a r env = Some ?t \<Longrightarrow> interpret_floatarith r xs \<in>\<^sub>i range_tm e ?t
approx_tm prec ord I a (Mult l r) env = Some t

goal (14 subgoals):
 1. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Mult f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Mult f1 f2) xs \<in>\<^sub>i range_tm e t
 2. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Inverse f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Inverse f) xs \<in>\<^sub>i range_tm e t
 3. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Cos f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Cos f) xs \<in>\<^sub>i range_tm e t
 4. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 6. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 7. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 8. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 9. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 10. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Exp f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Exp f) xs \<in>\<^sub>i range_tm e t
A total of 14 subgoals...
[PROOF STEP]
obtain t1 where t1_def: "approx_tm prec ord I a l env = Some t1"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. (\<And>t1. approx_tm prec ord I a l env = Some t1 \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
by (metis (no_types, lifting) Mult(3) approx_tm.simps(5) option.case_eq_if option.collapse prod.case)
[PROOF STATE]
proof (state)
this:
approx_tm prec ord I a l env = Some t1

goal (14 subgoals):
 1. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Mult f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Mult f1 f2) xs \<in>\<^sub>i range_tm e t
 2. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Inverse f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Inverse f) xs \<in>\<^sub>i range_tm e t
 3. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Cos f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Cos f) xs \<in>\<^sub>i range_tm e t
 4. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 6. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 7. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 8. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 9. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 10. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Exp f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Exp f) xs \<in>\<^sub>i range_tm e t
A total of 14 subgoals...
[PROOF STEP]
obtain t2 where t2_def: "approx_tm prec ord I a r env = Some t2"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. (\<And>t2. approx_tm prec ord I a r env = Some t2 \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
by (smt Mult(3) approx_tm.simps(5) option.case_eq_if option.collapse prod.case)
[PROOF STATE]
proof (state)
this:
approx_tm prec ord I a r env = Some t2

goal (14 subgoals):
 1. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Mult f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Mult f1 f2) xs \<in>\<^sub>i range_tm e t
 2. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Inverse f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Inverse f) xs \<in>\<^sub>i range_tm e t
 3. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Cos f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Cos f) xs \<in>\<^sub>i range_tm e t
 4. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 6. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 7. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 8. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 9. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 10. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Exp f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Exp f) xs \<in>\<^sub>i range_tm e t
A total of 14 subgoals...
[PROOF STEP]
have t_def: "t = tm_mul prec ord I a t1 t2"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. t = tm_mul prec ord I a t1 t2
[PROOF STEP]
using Mult(3) t1_def t2_def
[PROOF STATE]
proof (prove)
using this:
approx_tm prec ord I a (Mult l r) env = Some t
approx_tm prec ord I a l env = Some t1
approx_tm prec ord I a r env = Some t2

goal (1 subgoal):
 1. t = tm_mul prec ord I a t1 t2
[PROOF STEP]
by (metis approx_tm.simps(5) option.case(2) option.inject prod.case)
[PROOF STATE]
proof (state)
this:
t = tm_mul prec ord I a t1 t2

goal (14 subgoals):
 1. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Mult f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Mult f1 f2) xs \<in>\<^sub>i range_tm e t
 2. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Inverse f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Inverse f) xs \<in>\<^sub>i range_tm e t
 3. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Cos f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Cos f) xs \<in>\<^sub>i range_tm e t
 4. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 6. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 7. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 8. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 9. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 10. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Exp f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Exp f) xs \<in>\<^sub>i range_tm e t
A total of 14 subgoals...
[PROOF STEP]
have [simp]: "interpret_floatarith (floatarith.Mult l r) = interpret_floatarith l * interpret_floatarith r"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. interpret_floatarith (Mult l r) = interpret_floatarith l * interpret_floatarith r
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
interpret_floatarith (Mult l r) = interpret_floatarith l * interpret_floatarith r

goal (14 subgoals):
 1. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Mult f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Mult f1 f2) xs \<in>\<^sub>i range_tm e t
 2. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Inverse f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Inverse f) xs \<in>\<^sub>i range_tm e t
 3. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Cos f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Cos f) xs \<in>\<^sub>i range_tm e t
 4. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 6. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 7. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 8. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 9. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 10. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Exp f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Exp f) xs \<in>\<^sub>i range_tm e t
A total of 14 subgoals...
[PROOF STEP]
show ?case
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. interpret_floatarith (Mult l r) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
using env Mult
[PROOF STATE]
proof (prove)
using this:
?tm \<in> set env \<Longrightarrow> num_params (tm_poly ?tm) \<le> length I
approx_tm prec ord I a l env = Some ?t \<Longrightarrow> interpret_floatarith l xs \<in>\<^sub>i range_tm e ?t
approx_tm prec ord I a r env = Some ?t \<Longrightarrow> interpret_floatarith r xs \<in>\<^sub>i range_tm e ?t
approx_tm prec ord I a (Mult l r) env = Some t

goal (1 subgoal):
 1. interpret_floatarith (Mult l r) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
by (auto simp add: t_def intro!: tm_mul_range Mult t1_def t2_def devs
        num_params_approx_tm[OF t1_def] num_params_approx_tm[OF t2_def])
[PROOF STATE]
proof (state)
this:
interpret_floatarith (Mult l r) xs \<in>\<^sub>i range_tm e t

goal (13 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Inverse f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Inverse f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Cos f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Cos f) xs \<in>\<^sub>i range_tm e t
 3. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 4. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 5. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 6. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 7. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 8. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 9. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Exp f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Exp f) xs \<in>\<^sub>i range_tm e t
 10. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
A total of 13 subgoals...
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (13 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Inverse f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Inverse f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Cos f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Cos f) xs \<in>\<^sub>i range_tm e t
 3. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 4. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 5. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 6. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 7. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 8. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 9. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Exp f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Exp f) xs \<in>\<^sub>i range_tm e t
 10. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
A total of 13 subgoals...
[PROOF STEP]
case (Power f k t)
[PROOF STATE]
proof (state)
this:
approx_tm prec ord I a f env = Some ?t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e ?t
approx_tm prec ord I a (Power f k) env = Some t

goal (13 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Inverse f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Inverse f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Cos f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Cos f) xs \<in>\<^sub>i range_tm e t
 3. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 4. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 5. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 6. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 7. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 8. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 9. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Exp f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Exp f) xs \<in>\<^sub>i range_tm e t
 10. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
A total of 13 subgoals...
[PROOF STEP]
from Power(2)
[PROOF STATE]
proof (chain)
picking this:
approx_tm prec ord I a (Power f k) env = Some t
[PROOF STEP]
obtain tm_f where tm_f_def: "approx_tm prec ord I a f env = Some tm_f"
[PROOF STATE]
proof (prove)
using this:
approx_tm prec ord I a (Power f k) env = Some t

goal (1 subgoal):
 1. (\<And>tm_f. approx_tm prec ord I a f env = Some tm_f \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
apply(simp)
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. \<lbrakk>\<And>tm_f. approx_tm prec ord I a f env = Some tm_f \<Longrightarrow> thesis; \<exists>z. approx_tm prec ord I a f env = Some z \<and> tm_pow prec ord I a z k = t\<rbrakk> \<Longrightarrow> thesis
[PROOF STEP]
by metis
[PROOF STATE]
proof (state)
this:
approx_tm prec ord I a f env = Some tm_f

goal (13 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Inverse f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Inverse f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Cos f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Cos f) xs \<in>\<^sub>i range_tm e t
 3. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 4. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 5. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 6. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 7. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 8. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 9. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Exp f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Exp f) xs \<in>\<^sub>i range_tm e t
 10. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
A total of 13 subgoals...
[PROOF STEP]
have t_decomp: "t = tm_pow prec ord I a tm_f k"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. t = tm_pow prec ord I a tm_f k
[PROOF STEP]
using Power(2)
[PROOF STATE]
proof (prove)
using this:
approx_tm prec ord I a (Power f k) env = Some t

goal (1 subgoal):
 1. t = tm_pow prec ord I a tm_f k
[PROOF STEP]
by (simp add: tm_f_def)
[PROOF STATE]
proof (state)
this:
t = tm_pow prec ord I a tm_f k

goal (13 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Inverse f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Inverse f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Cos f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Cos f) xs \<in>\<^sub>i range_tm e t
 3. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 4. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 5. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 6. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 7. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 8. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 9. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Exp f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Exp f) xs \<in>\<^sub>i range_tm e t
 10. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
A total of 13 subgoals...
[PROOF STEP]
show ?case
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. interpret_floatarith (Power f k) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
using env Power
[PROOF STATE]
proof (prove)
using this:
?tm \<in> set env \<Longrightarrow> num_params (tm_poly ?tm) \<le> length I
approx_tm prec ord I a f env = Some ?t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e ?t
approx_tm prec ord I a (Power f k) env = Some t

goal (1 subgoal):
 1. interpret_floatarith (Power f k) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
by (auto simp add: t_def tm_f_def intro!: tm_pow_range Power  devs
        num_params_approx_tm[OF tm_f_def])
[PROOF STATE]
proof (state)
this:
interpret_floatarith (Power f k) xs \<in>\<^sub>i range_tm e t

goal (12 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Inverse f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Inverse f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Cos f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Cos f) xs \<in>\<^sub>i range_tm e t
 3. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 4. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 5. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 6. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 7. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 8. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 9. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Exp f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Exp f) xs \<in>\<^sub>i range_tm e t
 10. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
A total of 12 subgoals...
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (12 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Inverse f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Inverse f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Cos f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Cos f) xs \<in>\<^sub>i range_tm e t
 3. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 4. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 5. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 6. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 7. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 8. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 9. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Exp f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Exp f) xs \<in>\<^sub>i range_tm e t
 10. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
A total of 12 subgoals...
[PROOF STEP]
case (Inverse f t)
[PROOF STATE]
proof (state)
this:
approx_tm prec ord I a f env = Some ?t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e ?t
approx_tm prec ord I a (Inverse f) env = Some t

goal (12 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Inverse f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Inverse f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Cos f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Cos f) xs \<in>\<^sub>i range_tm e t
 3. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 4. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 5. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 6. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 7. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 8. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 9. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Exp f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Exp f) xs \<in>\<^sub>i range_tm e t
 10. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
A total of 12 subgoals...
[PROOF STEP]
from Inverse
[PROOF STATE]
proof (chain)
picking this:
approx_tm prec ord I a f env = Some ?t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e ?t
approx_tm prec ord I a (Inverse f) env = Some t
[PROOF STEP]
obtain tf where tf_def: "approx_tm prec ord I a f env = Some tf"
[PROOF STATE]
proof (prove)
using this:
approx_tm prec ord I a f env = Some ?t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e ?t
approx_tm prec ord I a (Inverse f) env = Some t

goal (1 subgoal):
 1. (\<And>tf. approx_tm prec ord I a f env = Some tf \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
by (auto simp: compute_tm_by_comp_eq_Some_iff)
[PROOF STATE]
proof (state)
this:
approx_tm prec ord I a f env = Some tf

goal (12 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Inverse f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Inverse f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Cos f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Cos f) xs \<in>\<^sub>i range_tm e t
 3. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 4. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 5. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 6. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 7. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 8. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 9. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Exp f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Exp f) xs \<in>\<^sub>i range_tm e t
 10. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
A total of 12 subgoals...
[PROOF STEP]
have safe: "\<And>x. x \<in>\<^sub>r (compute_bound_tm prec I a tf) \<Longrightarrow>
          0 < lower (compute_bound_tm prec I a tf) \<or> upper (compute_bound_tm prec I a tf) < 0 \<Longrightarrow>
          isDERIV 0 (Inverse (Var 0)) [x]"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. \<And>x. \<lbrakk>x \<in>\<^sub>r compute_bound_tm prec I a tf; 0 < lower (compute_bound_tm prec I a tf) \<or> upper (compute_bound_tm prec I a tf) < 0\<rbrakk> \<Longrightarrow> isDERIV 0 (Inverse (Var 0)) [x]
[PROOF STEP]
by (simp add: set_of_eq , safe, simp_all)
[PROOF STATE]
proof (state)
this:
\<lbrakk>?x \<in>\<^sub>r compute_bound_tm prec I a tf; 0 < lower (compute_bound_tm prec I a tf) \<or> upper (compute_bound_tm prec I a tf) < 0\<rbrakk> \<Longrightarrow> isDERIV 0 (Inverse (Var 0)) [?x]

goal (12 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Inverse f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Inverse f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Cos f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Cos f) xs \<in>\<^sub>i range_tm e t
 3. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 4. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 5. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 6. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 7. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 8. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 9. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Exp f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Exp f) xs \<in>\<^sub>i range_tm e t
 10. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
A total of 12 subgoals...
[PROOF STEP]
have np: "num_params (tm_poly tf) \<le> length I"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. num_params (tm_poly tf) \<le> length I
[PROOF STEP]
using tf_def
[PROOF STATE]
proof (prove)
using this:
approx_tm prec ord I a f env = Some tf

goal (1 subgoal):
 1. num_params (tm_poly tf) \<le> length I
[PROOF STEP]
apply (rule num_params_approx_tm)
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. \<And>tm. tm \<in> set env \<Longrightarrow> num_params (tm_poly tm) \<le> length I
[PROOF STEP]
using assms
[PROOF STATE]
proof (prove)
using this:
a all_subset I
approx_tm prec ord I a f env = Some t
xs all_in\<^sub>i range_tms e env
develops_at_within e a I
?tm \<in> set env \<Longrightarrow> num_params (tm_poly ?tm) \<le> length I

goal (1 subgoal):
 1. \<And>tm. tm \<in> set env \<Longrightarrow> num_params (tm_poly tm) \<le> length I
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
num_params (tm_poly tf) \<le> length I

goal (12 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Inverse f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Inverse f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Cos f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Cos f) xs \<in>\<^sub>i range_tm e t
 3. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 4. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 5. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 6. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 7. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 8. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 9. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Exp f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Exp f) xs \<in>\<^sub>i range_tm e t
 10. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
A total of 12 subgoals...
[PROOF STEP]
from compute_tm_by_comp_range[OF _ a
      Inverse(1)[OF tf_def]
      Inverse(2)[unfolded approx_tm.simps tf_def]
      safe np devs]
[PROOF STATE]
proof (chain)
picking this:
\<lbrakk>max_Var_floatarith (Inverse (Var 0)) \<le> 1; \<And>x. \<lbrakk>x \<in>\<^sub>r compute_bound_tm prec I a tf; 0 < lower (compute_bound_tm prec I a tf) \<or> upper (compute_bound_tm prec I a tf) < 0\<rbrakk> \<Longrightarrow> x \<in>\<^sub>r compute_bound_tm prec I a tf; \<And>x. \<lbrakk>x \<in>\<^sub>r compute_bound_tm prec I a tf; 0 < lower (compute_bound_tm prec I a tf) \<or> upper (compute_bound_tm prec I a tf) < 0\<rbrakk> \<Longrightarrow> 0 < lower (compute_bound_tm prec I a tf) \<or> upper (compute_bound_tm prec I a tf) < 0\<rbrakk> \<Longrightarrow> interpret_floatarith (Inverse (Var 0)) [interpret_floatarith f xs] \<in>\<^sub>i range_tm e t
[PROOF STEP]
show ?case
[PROOF STATE]
proof (prove)
using this:
\<lbrakk>max_Var_floatarith (Inverse (Var 0)) \<le> 1; \<And>x. \<lbrakk>x \<in>\<^sub>r compute_bound_tm prec I a tf; 0 < lower (compute_bound_tm prec I a tf) \<or> upper (compute_bound_tm prec I a tf) < 0\<rbrakk> \<Longrightarrow> x \<in>\<^sub>r compute_bound_tm prec I a tf; \<And>x. \<lbrakk>x \<in>\<^sub>r compute_bound_tm prec I a tf; 0 < lower (compute_bound_tm prec I a tf) \<or> upper (compute_bound_tm prec I a tf) < 0\<rbrakk> \<Longrightarrow> 0 < lower (compute_bound_tm prec I a tf) \<or> upper (compute_bound_tm prec I a tf) < 0\<rbrakk> \<Longrightarrow> interpret_floatarith (Inverse (Var 0)) [interpret_floatarith f xs] \<in>\<^sub>i range_tm e t

goal (1 subgoal):
 1. interpret_floatarith (Inverse f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
by simp
[PROOF STATE]
proof (state)
this:
interpret_floatarith (Inverse f) xs \<in>\<^sub>i range_tm e t

goal (11 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Cos f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Cos f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 3. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 4. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 5. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 6. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 7. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 8. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Exp f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Exp f) xs \<in>\<^sub>i range_tm e t
 9. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 10. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Ln f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Ln f) xs \<in>\<^sub>i range_tm e t
A total of 11 subgoals...
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (11 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Cos f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Cos f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 3. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 4. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 5. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 6. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 7. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 8. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Exp f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Exp f) xs \<in>\<^sub>i range_tm e t
 9. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 10. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Ln f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Ln f) xs \<in>\<^sub>i range_tm e t
A total of 11 subgoals...
[PROOF STEP]
case hyps: (Cos f t)
[PROOF STATE]
proof (state)
this:
approx_tm prec ord I a f env = Some ?t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e ?t
approx_tm prec ord I a (Cos f) env = Some t

goal (11 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Cos f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Cos f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 3. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 4. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 5. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 6. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 7. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 8. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Exp f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Exp f) xs \<in>\<^sub>i range_tm e t
 9. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 10. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Ln f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Ln f) xs \<in>\<^sub>i range_tm e t
A total of 11 subgoals...
[PROOF STEP]
from hyps
[PROOF STATE]
proof (chain)
picking this:
approx_tm prec ord I a f env = Some ?t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e ?t
approx_tm prec ord I a (Cos f) env = Some t
[PROOF STEP]
obtain tf where tf_def: "approx_tm prec ord I a f env = Some tf"
[PROOF STATE]
proof (prove)
using this:
approx_tm prec ord I a f env = Some ?t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e ?t
approx_tm prec ord I a (Cos f) env = Some t

goal (1 subgoal):
 1. (\<And>tf. approx_tm prec ord I a f env = Some tf \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
by (auto simp: compute_tm_by_comp_eq_Some_iff)
[PROOF STATE]
proof (state)
this:
approx_tm prec ord I a f env = Some tf

goal (11 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Cos f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Cos f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 3. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 4. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 5. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 6. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 7. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 8. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Exp f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Exp f) xs \<in>\<^sub>i range_tm e t
 9. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 10. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Ln f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Ln f) xs \<in>\<^sub>i range_tm e t
A total of 11 subgoals...
[PROOF STEP]
have np: "num_params (tm_poly tf) \<le> length I"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. num_params (tm_poly tf) \<le> length I
[PROOF STEP]
using tf_def
[PROOF STATE]
proof (prove)
using this:
approx_tm prec ord I a f env = Some tf

goal (1 subgoal):
 1. num_params (tm_poly tf) \<le> length I
[PROOF STEP]
apply (rule num_params_approx_tm)
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. \<And>tm. tm \<in> set env \<Longrightarrow> num_params (tm_poly tm) \<le> length I
[PROOF STEP]
using assms
[PROOF STATE]
proof (prove)
using this:
a all_subset I
approx_tm prec ord I a f env = Some t
xs all_in\<^sub>i range_tms e env
develops_at_within e a I
?tm \<in> set env \<Longrightarrow> num_params (tm_poly ?tm) \<le> length I

goal (1 subgoal):
 1. \<And>tm. tm \<in> set env \<Longrightarrow> num_params (tm_poly tm) \<le> length I
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
num_params (tm_poly tf) \<le> length I

goal (11 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Cos f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Cos f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 3. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 4. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 5. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 6. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 7. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 8. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Exp f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Exp f) xs \<in>\<^sub>i range_tm e t
 9. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 10. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Ln f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Ln f) xs \<in>\<^sub>i range_tm e t
A total of 11 subgoals...
[PROOF STEP]
from compute_tm_by_comp_range[OF _ a
      hyps(1)[OF tf_def]
      hyps(2)[unfolded approx_tm.simps tf_def]
      _ np devs]
[PROOF STATE]
proof (chain)
picking this:
\<lbrakk>max_Var_floatarith (Cos (Var 0)) \<le> 1; \<And>x. \<lbrakk>x \<in>\<^sub>r compute_bound_tm prec I a tf; True\<rbrakk> \<Longrightarrow> isDERIV 0 (Cos (Var 0)) [x]\<rbrakk> \<Longrightarrow> interpret_floatarith (Cos (Var 0)) [interpret_floatarith f xs] \<in>\<^sub>i range_tm e t
[PROOF STEP]
show ?case
[PROOF STATE]
proof (prove)
using this:
\<lbrakk>max_Var_floatarith (Cos (Var 0)) \<le> 1; \<And>x. \<lbrakk>x \<in>\<^sub>r compute_bound_tm prec I a tf; True\<rbrakk> \<Longrightarrow> isDERIV 0 (Cos (Var 0)) [x]\<rbrakk> \<Longrightarrow> interpret_floatarith (Cos (Var 0)) [interpret_floatarith f xs] \<in>\<^sub>i range_tm e t

goal (1 subgoal):
 1. interpret_floatarith (Cos f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
by simp
[PROOF STATE]
proof (state)
this:
interpret_floatarith (Cos f) xs \<in>\<^sub>i range_tm e t

goal (10 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 5. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 6. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 7. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Exp f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Exp f) xs \<in>\<^sub>i range_tm e t
 8. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 9. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Ln f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Ln f) xs \<in>\<^sub>i range_tm e t
 10. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (10 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 5. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 6. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 7. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Exp f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Exp f) xs \<in>\<^sub>i range_tm e t
 8. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 9. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Ln f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Ln f) xs \<in>\<^sub>i range_tm e t
 10. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
case hyps: (Arctan f t)
[PROOF STATE]
proof (state)
this:
approx_tm prec ord I a f env = Some ?t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e ?t
approx_tm prec ord I a (Arctan f) env = Some t

goal (10 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 5. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 6. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 7. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Exp f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Exp f) xs \<in>\<^sub>i range_tm e t
 8. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 9. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Ln f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Ln f) xs \<in>\<^sub>i range_tm e t
 10. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
from hyps
[PROOF STATE]
proof (chain)
picking this:
approx_tm prec ord I a f env = Some ?t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e ?t
approx_tm prec ord I a (Arctan f) env = Some t
[PROOF STEP]
obtain tf where tf_def: "approx_tm prec ord I a f env = Some tf"
[PROOF STATE]
proof (prove)
using this:
approx_tm prec ord I a f env = Some ?t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e ?t
approx_tm prec ord I a (Arctan f) env = Some t

goal (1 subgoal):
 1. (\<And>tf. approx_tm prec ord I a f env = Some tf \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
by (auto simp: compute_tm_by_comp_eq_Some_iff)
[PROOF STATE]
proof (state)
this:
approx_tm prec ord I a f env = Some tf

goal (10 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 5. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 6. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 7. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Exp f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Exp f) xs \<in>\<^sub>i range_tm e t
 8. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 9. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Ln f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Ln f) xs \<in>\<^sub>i range_tm e t
 10. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
have np: "num_params (tm_poly tf) \<le> length I"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. num_params (tm_poly tf) \<le> length I
[PROOF STEP]
using tf_def
[PROOF STATE]
proof (prove)
using this:
approx_tm prec ord I a f env = Some tf

goal (1 subgoal):
 1. num_params (tm_poly tf) \<le> length I
[PROOF STEP]
apply (rule num_params_approx_tm)
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. \<And>tm. tm \<in> set env \<Longrightarrow> num_params (tm_poly tm) \<le> length I
[PROOF STEP]
using assms
[PROOF STATE]
proof (prove)
using this:
a all_subset I
approx_tm prec ord I a f env = Some t
xs all_in\<^sub>i range_tms e env
develops_at_within e a I
?tm \<in> set env \<Longrightarrow> num_params (tm_poly ?tm) \<le> length I

goal (1 subgoal):
 1. \<And>tm. tm \<in> set env \<Longrightarrow> num_params (tm_poly tm) \<le> length I
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
num_params (tm_poly tf) \<le> length I

goal (10 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Arctan f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 5. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 6. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 7. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Exp f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Exp f) xs \<in>\<^sub>i range_tm e t
 8. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 9. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Ln f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Ln f) xs \<in>\<^sub>i range_tm e t
 10. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
from compute_tm_by_comp_range[OF _ a
      hyps(1)[OF tf_def]
      hyps(2)[unfolded approx_tm.simps tf_def]
      _ np devs]
[PROOF STATE]
proof (chain)
picking this:
\<lbrakk>max_Var_floatarith (Arctan (Var 0)) \<le> 1; \<And>x. \<lbrakk>x \<in>\<^sub>r compute_bound_tm prec I a tf; True\<rbrakk> \<Longrightarrow> isDERIV 0 (Arctan (Var 0)) [x]\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan (Var 0)) [interpret_floatarith f xs] \<in>\<^sub>i range_tm e t
[PROOF STEP]
show ?case
[PROOF STATE]
proof (prove)
using this:
\<lbrakk>max_Var_floatarith (Arctan (Var 0)) \<le> 1; \<And>x. \<lbrakk>x \<in>\<^sub>r compute_bound_tm prec I a tf; True\<rbrakk> \<Longrightarrow> isDERIV 0 (Arctan (Var 0)) [x]\<rbrakk> \<Longrightarrow> interpret_floatarith (Arctan (Var 0)) [interpret_floatarith f xs] \<in>\<^sub>i range_tm e t

goal (1 subgoal):
 1. interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
by simp
[PROOF STATE]
proof (state)
this:
interpret_floatarith (Arctan f) xs \<in>\<^sub>i range_tm e t

goal (9 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 6. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Exp f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Exp f) xs \<in>\<^sub>i range_tm e t
 7. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 8. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Ln f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Ln f) xs \<in>\<^sub>i range_tm e t
 9. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (9 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 6. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Exp f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Exp f) xs \<in>\<^sub>i range_tm e t
 7. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 8. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Ln f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Ln f) xs \<in>\<^sub>i range_tm e t
 9. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
case hyps: (Exp f t)
[PROOF STATE]
proof (state)
this:
approx_tm prec ord I a f env = Some ?t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e ?t
approx_tm prec ord I a (Exp f) env = Some t

goal (9 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 6. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Exp f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Exp f) xs \<in>\<^sub>i range_tm e t
 7. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 8. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Ln f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Ln f) xs \<in>\<^sub>i range_tm e t
 9. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
from hyps
[PROOF STATE]
proof (chain)
picking this:
approx_tm prec ord I a f env = Some ?t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e ?t
approx_tm prec ord I a (Exp f) env = Some t
[PROOF STEP]
obtain tf where tf_def: "approx_tm prec ord I a f env = Some tf"
[PROOF STATE]
proof (prove)
using this:
approx_tm prec ord I a f env = Some ?t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e ?t
approx_tm prec ord I a (Exp f) env = Some t

goal (1 subgoal):
 1. (\<And>tf. approx_tm prec ord I a f env = Some tf \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
by (auto simp: compute_tm_by_comp_eq_Some_iff)
[PROOF STATE]
proof (state)
this:
approx_tm prec ord I a f env = Some tf

goal (9 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 6. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Exp f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Exp f) xs \<in>\<^sub>i range_tm e t
 7. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 8. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Ln f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Ln f) xs \<in>\<^sub>i range_tm e t
 9. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
have np: "num_params (tm_poly tf) \<le> length I"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. num_params (tm_poly tf) \<le> length I
[PROOF STEP]
using tf_def
[PROOF STATE]
proof (prove)
using this:
approx_tm prec ord I a f env = Some tf

goal (1 subgoal):
 1. num_params (tm_poly tf) \<le> length I
[PROOF STEP]
apply (rule num_params_approx_tm)
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. \<And>tm. tm \<in> set env \<Longrightarrow> num_params (tm_poly tm) \<le> length I
[PROOF STEP]
using assms
[PROOF STATE]
proof (prove)
using this:
a all_subset I
approx_tm prec ord I a f env = Some t
xs all_in\<^sub>i range_tms e env
develops_at_within e a I
?tm \<in> set env \<Longrightarrow> num_params (tm_poly ?tm) \<le> length I

goal (1 subgoal):
 1. \<And>tm. tm \<in> set env \<Longrightarrow> num_params (tm_poly tm) \<le> length I
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
num_params (tm_poly tf) \<le> length I

goal (9 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 6. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Exp f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Exp f) xs \<in>\<^sub>i range_tm e t
 7. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 8. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Ln f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Ln f) xs \<in>\<^sub>i range_tm e t
 9. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
from compute_tm_by_comp_range[OF _ a
      hyps(1)[OF tf_def]
      hyps(2)[unfolded approx_tm.simps tf_def]
      _ np devs]
[PROOF STATE]
proof (chain)
picking this:
\<lbrakk>max_Var_floatarith (Exp (Var 0)) \<le> 1; \<And>x. \<lbrakk>x \<in>\<^sub>r compute_bound_tm prec I a tf; True\<rbrakk> \<Longrightarrow> isDERIV 0 (Exp (Var 0)) [x]\<rbrakk> \<Longrightarrow> interpret_floatarith (Exp (Var 0)) [interpret_floatarith f xs] \<in>\<^sub>i range_tm e t
[PROOF STEP]
show ?case
[PROOF STATE]
proof (prove)
using this:
\<lbrakk>max_Var_floatarith (Exp (Var 0)) \<le> 1; \<And>x. \<lbrakk>x \<in>\<^sub>r compute_bound_tm prec I a tf; True\<rbrakk> \<Longrightarrow> isDERIV 0 (Exp (Var 0)) [x]\<rbrakk> \<Longrightarrow> interpret_floatarith (Exp (Var 0)) [interpret_floatarith f xs] \<in>\<^sub>i range_tm e t

goal (1 subgoal):
 1. interpret_floatarith (Exp f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
by simp
[PROOF STATE]
proof (state)
this:
interpret_floatarith (Exp f) xs \<in>\<^sub>i range_tm e t

goal (8 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 6. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 7. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Ln f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Ln f) xs \<in>\<^sub>i range_tm e t
 8. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (8 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 6. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 7. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Ln f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Ln f) xs \<in>\<^sub>i range_tm e t
 8. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
case hyps: (Ln f t)
[PROOF STATE]
proof (state)
this:
approx_tm prec ord I a f env = Some ?t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e ?t
approx_tm prec ord I a (Ln f) env = Some t

goal (8 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 6. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 7. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Ln f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Ln f) xs \<in>\<^sub>i range_tm e t
 8. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
from hyps
[PROOF STATE]
proof (chain)
picking this:
approx_tm prec ord I a f env = Some ?t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e ?t
approx_tm prec ord I a (Ln f) env = Some t
[PROOF STEP]
obtain tf where tf_def: "approx_tm prec ord I a f env = Some tf"
[PROOF STATE]
proof (prove)
using this:
approx_tm prec ord I a f env = Some ?t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e ?t
approx_tm prec ord I a (Ln f) env = Some t

goal (1 subgoal):
 1. (\<And>tf. approx_tm prec ord I a f env = Some tf \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
by (auto simp: compute_tm_by_comp_eq_Some_iff)
[PROOF STATE]
proof (state)
this:
approx_tm prec ord I a f env = Some tf

goal (8 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 6. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 7. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Ln f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Ln f) xs \<in>\<^sub>i range_tm e t
 8. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
have safe: "\<And>x. x \<in>\<^sub>r compute_bound_tm prec I a tf \<Longrightarrow>
        0 < lower (compute_bound_tm prec I a tf) \<Longrightarrow> isDERIV 0 (Ln (Var 0)) [x]"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. \<And>x. \<lbrakk>x \<in>\<^sub>r compute_bound_tm prec I a tf; 0 < lower (compute_bound_tm prec I a tf)\<rbrakk> \<Longrightarrow> isDERIV 0 (Ln (Var 0)) [x]
[PROOF STEP]
by (auto simp: set_of_eq)
[PROOF STATE]
proof (state)
this:
\<lbrakk>?x \<in>\<^sub>r compute_bound_tm prec I a tf; 0 < lower (compute_bound_tm prec I a tf)\<rbrakk> \<Longrightarrow> isDERIV 0 (Ln (Var 0)) [?x]

goal (8 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 6. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 7. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Ln f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Ln f) xs \<in>\<^sub>i range_tm e t
 8. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
have np: "num_params (tm_poly tf) \<le> length I"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. num_params (tm_poly tf) \<le> length I
[PROOF STEP]
using tf_def
[PROOF STATE]
proof (prove)
using this:
approx_tm prec ord I a f env = Some tf

goal (1 subgoal):
 1. num_params (tm_poly tf) \<le> length I
[PROOF STEP]
apply (rule num_params_approx_tm)
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. \<And>tm. tm \<in> set env \<Longrightarrow> num_params (tm_poly tm) \<le> length I
[PROOF STEP]
using assms
[PROOF STATE]
proof (prove)
using this:
a all_subset I
approx_tm prec ord I a f env = Some t
xs all_in\<^sub>i range_tms e env
develops_at_within e a I
?tm \<in> set env \<Longrightarrow> num_params (tm_poly ?tm) \<le> length I

goal (1 subgoal):
 1. \<And>tm. tm \<in> set env \<Longrightarrow> num_params (tm_poly tm) \<le> length I
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
num_params (tm_poly tf) \<le> length I

goal (8 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 6. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 7. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Ln f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Ln f) xs \<in>\<^sub>i range_tm e t
 8. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
from compute_tm_by_comp_range[OF _ a
      hyps(1)[OF tf_def]
      hyps(2)[unfolded approx_tm.simps tf_def]
      safe np devs]
[PROOF STATE]
proof (chain)
picking this:
\<lbrakk>max_Var_floatarith (Ln (Var 0)) \<le> 1; \<And>x. \<lbrakk>x \<in>\<^sub>r compute_bound_tm prec I a tf; 0 < lower (compute_bound_tm prec I a tf)\<rbrakk> \<Longrightarrow> x \<in>\<^sub>r compute_bound_tm prec I a tf; \<And>x. \<lbrakk>x \<in>\<^sub>r compute_bound_tm prec I a tf; 0 < lower (compute_bound_tm prec I a tf)\<rbrakk> \<Longrightarrow> 0 < lower (compute_bound_tm prec I a tf)\<rbrakk> \<Longrightarrow> interpret_floatarith (Ln (Var 0)) [interpret_floatarith f xs] \<in>\<^sub>i range_tm e t
[PROOF STEP]
show ?case
[PROOF STATE]
proof (prove)
using this:
\<lbrakk>max_Var_floatarith (Ln (Var 0)) \<le> 1; \<And>x. \<lbrakk>x \<in>\<^sub>r compute_bound_tm prec I a tf; 0 < lower (compute_bound_tm prec I a tf)\<rbrakk> \<Longrightarrow> x \<in>\<^sub>r compute_bound_tm prec I a tf; \<And>x. \<lbrakk>x \<in>\<^sub>r compute_bound_tm prec I a tf; 0 < lower (compute_bound_tm prec I a tf)\<rbrakk> \<Longrightarrow> 0 < lower (compute_bound_tm prec I a tf)\<rbrakk> \<Longrightarrow> interpret_floatarith (Ln (Var 0)) [interpret_floatarith f xs] \<in>\<^sub>i range_tm e t

goal (1 subgoal):
 1. interpret_floatarith (Ln f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
by simp
[PROOF STATE]
proof (state)
this:
interpret_floatarith (Ln f) xs \<in>\<^sub>i range_tm e t

goal (7 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 6. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 7. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (7 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 6. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 7. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
case hyps: (Sqrt f t)
[PROOF STATE]
proof (state)
this:
approx_tm prec ord I a f env = Some ?t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e ?t
approx_tm prec ord I a (Sqrt f) env = Some t

goal (7 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 6. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 7. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
from hyps
[PROOF STATE]
proof (chain)
picking this:
approx_tm prec ord I a f env = Some ?t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e ?t
approx_tm prec ord I a (Sqrt f) env = Some t
[PROOF STEP]
obtain tf where tf_def: "approx_tm prec ord I a f env = Some tf"
[PROOF STATE]
proof (prove)
using this:
approx_tm prec ord I a f env = Some ?t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e ?t
approx_tm prec ord I a (Sqrt f) env = Some t

goal (1 subgoal):
 1. (\<And>tf. approx_tm prec ord I a f env = Some tf \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
by (auto simp: compute_tm_by_comp_eq_Some_iff)
[PROOF STATE]
proof (state)
this:
approx_tm prec ord I a f env = Some tf

goal (7 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 6. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 7. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
have safe: "\<And>x. x \<in>\<^sub>r compute_bound_tm prec I a tf \<Longrightarrow>
        0 < lower (compute_bound_tm prec I a tf) \<Longrightarrow> isDERIV 0 (Sqrt (Var 0)) [x]"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. \<And>x. \<lbrakk>x \<in>\<^sub>r compute_bound_tm prec I a tf; 0 < lower (compute_bound_tm prec I a tf)\<rbrakk> \<Longrightarrow> isDERIV 0 (Sqrt (Var 0)) [x]
[PROOF STEP]
by (auto simp: set_of_eq)
[PROOF STATE]
proof (state)
this:
\<lbrakk>?x \<in>\<^sub>r compute_bound_tm prec I a tf; 0 < lower (compute_bound_tm prec I a tf)\<rbrakk> \<Longrightarrow> isDERIV 0 (Sqrt (Var 0)) [?x]

goal (7 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 6. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 7. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
have np: "num_params (tm_poly tf) \<le> length I"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. num_params (tm_poly tf) \<le> length I
[PROOF STEP]
using tf_def
[PROOF STATE]
proof (prove)
using this:
approx_tm prec ord I a f env = Some tf

goal (1 subgoal):
 1. num_params (tm_poly tf) \<le> length I
[PROOF STEP]
apply (rule num_params_approx_tm)
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. \<And>tm. tm \<in> set env \<Longrightarrow> num_params (tm_poly tm) \<le> length I
[PROOF STEP]
using assms
[PROOF STATE]
proof (prove)
using this:
a all_subset I
approx_tm prec ord I a f env = Some t
xs all_in\<^sub>i range_tms e env
develops_at_within e a I
?tm \<in> set env \<Longrightarrow> num_params (tm_poly ?tm) \<le> length I

goal (1 subgoal):
 1. \<And>tm. tm \<in> set env \<Longrightarrow> num_params (tm_poly tm) \<le> length I
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
num_params (tm_poly tf) \<le> length I

goal (7 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Sqrt f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
 6. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 7. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
from compute_tm_by_comp_range[OF _ a
      hyps(1)[OF tf_def]
      hyps(2)[unfolded approx_tm.simps tf_def]
      safe np devs]
[PROOF STATE]
proof (chain)
picking this:
\<lbrakk>max_Var_floatarith (Sqrt (Var 0)) \<le> 1; \<And>x. \<lbrakk>x \<in>\<^sub>r compute_bound_tm prec I a tf; 0 < lower (compute_bound_tm prec I a tf)\<rbrakk> \<Longrightarrow> x \<in>\<^sub>r compute_bound_tm prec I a tf; \<And>x. \<lbrakk>x \<in>\<^sub>r compute_bound_tm prec I a tf; 0 < lower (compute_bound_tm prec I a tf)\<rbrakk> \<Longrightarrow> 0 < lower (compute_bound_tm prec I a tf)\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt (Var 0)) [interpret_floatarith f xs] \<in>\<^sub>i range_tm e t
[PROOF STEP]
show ?case
[PROOF STATE]
proof (prove)
using this:
\<lbrakk>max_Var_floatarith (Sqrt (Var 0)) \<le> 1; \<And>x. \<lbrakk>x \<in>\<^sub>r compute_bound_tm prec I a tf; 0 < lower (compute_bound_tm prec I a tf)\<rbrakk> \<Longrightarrow> x \<in>\<^sub>r compute_bound_tm prec I a tf; \<And>x. \<lbrakk>x \<in>\<^sub>r compute_bound_tm prec I a tf; 0 < lower (compute_bound_tm prec I a tf)\<rbrakk> \<Longrightarrow> 0 < lower (compute_bound_tm prec I a tf)\<rbrakk> \<Longrightarrow> interpret_floatarith (Sqrt (Var 0)) [interpret_floatarith f xs] \<in>\<^sub>i range_tm e t

goal (1 subgoal):
 1. interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
by simp
[PROOF STATE]
proof (state)
this:
interpret_floatarith (Sqrt f) xs \<in>\<^sub>i range_tm e t

goal (6 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 5. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 6. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (6 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 5. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 6. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
case (Pi t)
[PROOF STATE]
proof (state)
this:
approx_tm prec ord I a Pi env = Some t

goal (6 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 5. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 6. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
hence "t = tm_pi prec"
[PROOF STATE]
proof (prove)
using this:
approx_tm prec ord I a Pi env = Some t

goal (1 subgoal):
 1. t = tm_pi prec
[PROOF STEP]
by simp
[PROOF STATE]
proof (state)
this:
t = tm_pi prec

goal (6 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>t. approx_tm prec ord I a Pi env = Some t \<Longrightarrow> interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
 5. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 6. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
then
[PROOF STATE]
proof (chain)
picking this:
t = tm_pi prec
[PROOF STEP]
show ?case
[PROOF STATE]
proof (prove)
using this:
t = tm_pi prec

goal (1 subgoal):
 1. interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
by (auto intro!: range_tm_tm_pi)
[PROOF STATE]
proof (state)
this:
interpret_floatarith Pi xs \<in>\<^sub>i range_tm e t

goal (5 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (5 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
case (Abs f t)
[PROOF STATE]
proof (state)
this:
approx_tm prec ord I a f env = Some ?t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e ?t
approx_tm prec ord I a (Abs f) env = Some t

goal (5 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
from Abs(2)
[PROOF STATE]
proof (chain)
picking this:
approx_tm prec ord I a (Abs f) env = Some t
[PROOF STEP]
obtain tf where tf_def: "approx_tm prec ord I a f env = Some tf"
    and  t_def: "t = tm_abs prec I a tf"
[PROOF STATE]
proof (prove)
using this:
approx_tm prec ord I a (Abs f) env = Some t

goal (1 subgoal):
 1. (\<And>tf. \<lbrakk>approx_tm prec ord I a f env = Some tf; t = tm_abs prec I a tf\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
by (metis (no_types, lifting) approx_tm.simps(14) map_option_eq_Some)
[PROOF STATE]
proof (state)
this:
approx_tm prec ord I a f env = Some tf
t = tm_abs prec I a tf

goal (5 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
have np: "num_params (tm_poly tf) \<le> length I"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. num_params (tm_poly tf) \<le> length I
[PROOF STEP]
using tf_def
[PROOF STATE]
proof (prove)
using this:
approx_tm prec ord I a f env = Some tf

goal (1 subgoal):
 1. num_params (tm_poly tf) \<le> length I
[PROOF STEP]
apply (rule num_params_approx_tm)
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. \<And>tm. tm \<in> set env \<Longrightarrow> num_params (tm_poly tm) \<le> length I
[PROOF STEP]
using assms
[PROOF STATE]
proof (prove)
using this:
a all_subset I
approx_tm prec ord I a f env = Some t
xs all_in\<^sub>i range_tms e env
develops_at_within e a I
?tm \<in> set env \<Longrightarrow> num_params (tm_poly ?tm) \<le> length I

goal (1 subgoal):
 1. \<And>tm. tm \<in> set env \<Longrightarrow> num_params (tm_poly tm) \<le> length I
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
num_params (tm_poly tf) \<le> length I

goal (5 subgoals):
 1. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Abs f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 5. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
from tm_abs_range[OF Abs(1)[OF tf_def] np devs]
[PROOF STATE]
proof (chain)
picking this:
\<bar>interpret_floatarith f xs\<bar> \<in>\<^sub>i range_tm e (tm_abs ?prec I a tf)
[PROOF STEP]
show ?case
[PROOF STATE]
proof (prove)
using this:
\<bar>interpret_floatarith f xs\<bar> \<in>\<^sub>i range_tm e (tm_abs ?prec I a tf)

goal (1 subgoal):
 1. interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
unfolding t_def interpret_floatarith.simps(9) comp_def
[PROOF STATE]
proof (prove)
using this:
\<bar>interpret_floatarith f xs\<bar> \<in>\<^sub>i range_tm e (tm_abs ?prec I a tf)

goal (1 subgoal):
 1. \<bar>interpret_floatarith f xs\<bar> \<in>\<^sub>i range_tm e (tm_abs prec I a tf)
[PROOF STEP]
by assumption
[PROOF STATE]
proof (state)
this:
interpret_floatarith (Abs f) xs \<in>\<^sub>i range_tm e t

goal (4 subgoals):
 1. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (4 subgoals):
 1. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
case hyps: (Min l r t)
[PROOF STATE]
proof (state)
this:
approx_tm prec ord I a l env = Some ?t \<Longrightarrow> interpret_floatarith l xs \<in>\<^sub>i range_tm e ?t
approx_tm prec ord I a r env = Some ?t \<Longrightarrow> interpret_floatarith r xs \<in>\<^sub>i range_tm e ?t
approx_tm prec ord I a (Min l r) env = Some t

goal (4 subgoals):
 1. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
from hyps(3)
[PROOF STATE]
proof (chain)
picking this:
approx_tm prec ord I a (Min l r) env = Some t
[PROOF STEP]
obtain t1 t2 where t_decomp: "t = tm_min prec I a t1 t2"
    and t1_def: "Some t1 = approx_tm prec ord I a l env"
    and t2_def: "approx_tm prec ord I a r env = Some t2"
[PROOF STATE]
proof (prove)
using this:
approx_tm prec ord I a (Min l r) env = Some t

goal (1 subgoal):
 1. (\<And>t1 t2. \<lbrakk>t = tm_min prec I a t1 t2; Some t1 = approx_tm prec ord I a l env; approx_tm prec ord I a r env = Some t2\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
by (smt approx_tm.simps(15) option.case_eq_if option.collapse option.distinct(2) option.inject split_conv)
[PROOF STATE]
proof (state)
this:
t = tm_min prec I a t1 t2
Some t1 = approx_tm prec ord I a l env
approx_tm prec ord I a r env = Some t2

goal (4 subgoals):
 1. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
from this(2,3) hyps(1-3)
[PROOF STATE]
proof (chain)
picking this:
Some t1 = approx_tm prec ord I a l env
approx_tm prec ord I a r env = Some t2
approx_tm prec ord I a l env = Some ?t \<Longrightarrow> interpret_floatarith l xs \<in>\<^sub>i range_tm e ?t
approx_tm prec ord I a r env = Some ?t \<Longrightarrow> interpret_floatarith r xs \<in>\<^sub>i range_tm e ?t
approx_tm prec ord I a (Min l r) env = Some t
[PROOF STEP]
have t1_range: "(interpret_floatarith l xs) \<in>\<^sub>i range_tm e t1"
    and  t2_range: "(interpret_floatarith r xs) \<in>\<^sub>i range_tm e t2"
[PROOF STATE]
proof (prove)
using this:
Some t1 = approx_tm prec ord I a l env
approx_tm prec ord I a r env = Some t2
approx_tm prec ord I a l env = Some ?t \<Longrightarrow> interpret_floatarith l xs \<in>\<^sub>i range_tm e ?t
approx_tm prec ord I a r env = Some ?t \<Longrightarrow> interpret_floatarith r xs \<in>\<^sub>i range_tm e ?t
approx_tm prec ord I a (Min l r) env = Some t

goal (1 subgoal):
 1. interpret_floatarith l xs \<in>\<^sub>i range_tm e t1 &&& interpret_floatarith r xs \<in>\<^sub>i range_tm e t2
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
interpret_floatarith l xs \<in>\<^sub>i range_tm e t1
interpret_floatarith r xs \<in>\<^sub>i range_tm e t2

goal (4 subgoals):
 1. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
have [simp]: "interpret_floatarith (floatarith.Min l r) = (\<lambda>vs. min (interpret_floatarith l vs) (interpret_floatarith r vs))"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. interpret_floatarith (Min l r) = (\<lambda>vs. min (interpret_floatarith l vs) (interpret_floatarith r vs))
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
interpret_floatarith (Min l r) = (\<lambda>vs. min (interpret_floatarith l vs) (interpret_floatarith r vs))

goal (4 subgoals):
 1. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
have np1: "num_params (tm_poly t1) \<le> length I"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. num_params (tm_poly t1) \<le> length I
[PROOF STEP]
using t1_def[symmetric]
[PROOF STATE]
proof (prove)
using this:
approx_tm prec ord I a l env = Some t1

goal (1 subgoal):
 1. num_params (tm_poly t1) \<le> length I
[PROOF STEP]
apply (rule num_params_approx_tm)
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. \<And>tm. tm \<in> set env \<Longrightarrow> num_params (tm_poly tm) \<le> length I
[PROOF STEP]
using assms
[PROOF STATE]
proof (prove)
using this:
a all_subset I
approx_tm prec ord I a f env = Some t
xs all_in\<^sub>i range_tms e env
develops_at_within e a I
?tm \<in> set env \<Longrightarrow> num_params (tm_poly ?tm) \<le> length I

goal (1 subgoal):
 1. \<And>tm. tm \<in> set env \<Longrightarrow> num_params (tm_poly tm) \<le> length I
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
num_params (tm_poly t1) \<le> length I

goal (4 subgoals):
 1. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
have np2: "num_params (tm_poly t2) \<le> length I"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. num_params (tm_poly t2) \<le> length I
[PROOF STEP]
using t2_def
[PROOF STATE]
proof (prove)
using this:
approx_tm prec ord I a r env = Some t2

goal (1 subgoal):
 1. num_params (tm_poly t2) \<le> length I
[PROOF STEP]
apply (rule num_params_approx_tm)
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. \<And>tm. tm \<in> set env \<Longrightarrow> num_params (tm_poly tm) \<le> length I
[PROOF STEP]
using assms
[PROOF STATE]
proof (prove)
using this:
a all_subset I
approx_tm prec ord I a f env = Some t
xs all_in\<^sub>i range_tms e env
develops_at_within e a I
?tm \<in> set env \<Longrightarrow> num_params (tm_poly ?tm) \<le> length I

goal (1 subgoal):
 1. \<And>tm. tm \<in> set env \<Longrightarrow> num_params (tm_poly tm) \<le> length I
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
num_params (tm_poly t2) \<le> length I

goal (4 subgoals):
 1. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Min f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Min f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 4. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
show ?case
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. interpret_floatarith (Min l r) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
unfolding t_decomp(1)
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. interpret_floatarith (Min l r) xs \<in>\<^sub>i range_tm e (tm_min prec I a t1 t2)
[PROOF STEP]
apply(simp del: tm_min.simps)
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. min (interpret_floatarith l xs) (interpret_floatarith r xs) \<in>\<^sub>i range_tm e (tm_min prec I a t1 t2)
[PROOF STEP]
using t1_range t2_range np1 np2
[PROOF STATE]
proof (prove)
using this:
interpret_floatarith l xs \<in>\<^sub>i range_tm e t1
interpret_floatarith r xs \<in>\<^sub>i range_tm e t2
num_params (tm_poly t1) \<le> length I
num_params (tm_poly t2) \<le> length I

goal (1 subgoal):
 1. min (interpret_floatarith l xs) (interpret_floatarith r xs) \<in>\<^sub>i range_tm e (tm_min prec I a t1 t2)
[PROOF STEP]
by (auto intro!: tm_min_range devs)
[PROOF STATE]
proof (state)
this:
interpret_floatarith (Min l r) xs \<in>\<^sub>i range_tm e t

goal (3 subgoals):
 1. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (3 subgoals):
 1. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
case hyps: (Max l r t)
[PROOF STATE]
proof (state)
this:
approx_tm prec ord I a l env = Some ?t \<Longrightarrow> interpret_floatarith l xs \<in>\<^sub>i range_tm e ?t
approx_tm prec ord I a r env = Some ?t \<Longrightarrow> interpret_floatarith r xs \<in>\<^sub>i range_tm e ?t
approx_tm prec ord I a (Max l r) env = Some t

goal (3 subgoals):
 1. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
from hyps(3)
[PROOF STATE]
proof (chain)
picking this:
approx_tm prec ord I a (Max l r) env = Some t
[PROOF STEP]
obtain t1 t2 where t_decomp: "t = tm_max prec I a t1 t2"
    and t1_def: "Some t1 = approx_tm prec ord I a l env"
    and t2_def: "approx_tm prec ord I a r env = Some t2"
[PROOF STATE]
proof (prove)
using this:
approx_tm prec ord I a (Max l r) env = Some t

goal (1 subgoal):
 1. (\<And>t1 t2. \<lbrakk>t = tm_max prec I a t1 t2; Some t1 = approx_tm prec ord I a l env; approx_tm prec ord I a r env = Some t2\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
by (smt approx_tm.simps(16) option.case_eq_if option.collapse option.distinct(2) option.inject split_conv)
[PROOF STATE]
proof (state)
this:
t = tm_max prec I a t1 t2
Some t1 = approx_tm prec ord I a l env
approx_tm prec ord I a r env = Some t2

goal (3 subgoals):
 1. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
from this(2,3) hyps(1-3)
[PROOF STATE]
proof (chain)
picking this:
Some t1 = approx_tm prec ord I a l env
approx_tm prec ord I a r env = Some t2
approx_tm prec ord I a l env = Some ?t \<Longrightarrow> interpret_floatarith l xs \<in>\<^sub>i range_tm e ?t
approx_tm prec ord I a r env = Some ?t \<Longrightarrow> interpret_floatarith r xs \<in>\<^sub>i range_tm e ?t
approx_tm prec ord I a (Max l r) env = Some t
[PROOF STEP]
have t1_range: "(interpret_floatarith l xs) \<in>\<^sub>i range_tm e t1"
    and  t2_range: "(interpret_floatarith r xs) \<in>\<^sub>i range_tm e t2"
[PROOF STATE]
proof (prove)
using this:
Some t1 = approx_tm prec ord I a l env
approx_tm prec ord I a r env = Some t2
approx_tm prec ord I a l env = Some ?t \<Longrightarrow> interpret_floatarith l xs \<in>\<^sub>i range_tm e ?t
approx_tm prec ord I a r env = Some ?t \<Longrightarrow> interpret_floatarith r xs \<in>\<^sub>i range_tm e ?t
approx_tm prec ord I a (Max l r) env = Some t

goal (1 subgoal):
 1. interpret_floatarith l xs \<in>\<^sub>i range_tm e t1 &&& interpret_floatarith r xs \<in>\<^sub>i range_tm e t2
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
interpret_floatarith l xs \<in>\<^sub>i range_tm e t1
interpret_floatarith r xs \<in>\<^sub>i range_tm e t2

goal (3 subgoals):
 1. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
have [simp]: "interpret_floatarith (floatarith.Min l r) = (\<lambda>vs. min (interpret_floatarith l vs) (interpret_floatarith r vs))"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. interpret_floatarith (Min l r) = (\<lambda>vs. min (interpret_floatarith l vs) (interpret_floatarith r vs))
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
interpret_floatarith (Min l r) = (\<lambda>vs. min (interpret_floatarith l vs) (interpret_floatarith r vs))

goal (3 subgoals):
 1. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
have np1: "num_params (tm_poly t1) \<le> length I"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. num_params (tm_poly t1) \<le> length I
[PROOF STEP]
using t1_def[symmetric]
[PROOF STATE]
proof (prove)
using this:
approx_tm prec ord I a l env = Some t1

goal (1 subgoal):
 1. num_params (tm_poly t1) \<le> length I
[PROOF STEP]
apply (rule num_params_approx_tm)
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. \<And>tm. tm \<in> set env \<Longrightarrow> num_params (tm_poly tm) \<le> length I
[PROOF STEP]
using assms
[PROOF STATE]
proof (prove)
using this:
a all_subset I
approx_tm prec ord I a f env = Some t
xs all_in\<^sub>i range_tms e env
develops_at_within e a I
?tm \<in> set env \<Longrightarrow> num_params (tm_poly ?tm) \<le> length I

goal (1 subgoal):
 1. \<And>tm. tm \<in> set env \<Longrightarrow> num_params (tm_poly tm) \<le> length I
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
num_params (tm_poly t1) \<le> length I

goal (3 subgoals):
 1. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
have np2: "num_params (tm_poly t2) \<le> length I"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. num_params (tm_poly t2) \<le> length I
[PROOF STEP]
using t2_def
[PROOF STATE]
proof (prove)
using this:
approx_tm prec ord I a r env = Some t2

goal (1 subgoal):
 1. num_params (tm_poly t2) \<le> length I
[PROOF STEP]
apply (rule num_params_approx_tm)
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. \<And>tm. tm \<in> set env \<Longrightarrow> num_params (tm_poly tm) \<le> length I
[PROOF STEP]
using assms
[PROOF STATE]
proof (prove)
using this:
a all_subset I
approx_tm prec ord I a f env = Some t
xs all_in\<^sub>i range_tms e env
develops_at_within e a I
?tm \<in> set env \<Longrightarrow> num_params (tm_poly ?tm) \<le> length I

goal (1 subgoal):
 1. \<And>tm. tm \<in> set env \<Longrightarrow> num_params (tm_poly tm) \<le> length I
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
num_params (tm_poly t2) \<le> length I

goal (3 subgoals):
 1. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Max f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Max f1 f2) xs \<in>\<^sub>i range_tm e t
 2. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 3. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
show ?case
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. interpret_floatarith (Max l r) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
unfolding t_decomp(1)
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. interpret_floatarith (Max l r) xs \<in>\<^sub>i range_tm e (tm_max prec I a t1 t2)
[PROOF STEP]
apply(simp del: tm_min.simps)
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. max (interpret_floatarith l xs) (interpret_floatarith r xs) \<in>\<^sub>i range_tm e (tm_max prec I a t1 t2)
[PROOF STEP]
using t1_range t2_range np1 np2
[PROOF STATE]
proof (prove)
using this:
interpret_floatarith l xs \<in>\<^sub>i range_tm e t1
interpret_floatarith r xs \<in>\<^sub>i range_tm e t2
num_params (tm_poly t1) \<le> length I
num_params (tm_poly t2) \<le> length I

goal (1 subgoal):
 1. max (interpret_floatarith l xs) (interpret_floatarith r xs) \<in>\<^sub>i range_tm e (tm_max prec I a t1 t2)
[PROOF STEP]
by (auto intro!: tm_max_range devs)
[PROOF STATE]
proof (state)
this:
interpret_floatarith (Max l r) xs \<in>\<^sub>i range_tm e t

goal (2 subgoals):
 1. \<And>f1 f2 t. \<lbrakk>\<And>t. approx_tm prec ord I a f1 env = Some t \<Longrightarrow> interpret_floatarith f1 xs \<in>\<^sub>i range_tm e t; \<And>t. approx_tm prec ord I a f2 env = Some t \<Longrightarrow> interpret_floatarith f2 xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Powr f1 f2) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Powr f1 f2) xs \<in>\<^sub>i range_tm e t
 2. \<And>f t. \<lbrakk>\<And>t. approx_tm prec ord I a f env = Some t \<Longrightarrow> interpret_floatarith f xs \<in>\<^sub>i range_tm e t; approx_tm prec ord I a (Floor f) env = Some t\<rbrakk> \<Longrightarrow> interpret_floatarith (Floor f) xs \<in>\<^sub>i range_tm e t
[PROOF STEP]
qed simp_all