text:
[STATEMENT]
lemma abs_summable_on_empty [simp, intro]: "f abs_summable_on {}"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. f abs_summable_on {}
[PROOF STEP]
by simp

lm_label:
1. NO
2. NO


text:
[STATEMENT]
lemma norm_unsigned_Nil [simp]: "norm_unsigned [] = []"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. norm_unsigned [] = []
[PROOF STEP]
by (simp add: norm_unsigned_def)


text:
[STATEMENT]
lemma apply_outputs_empty [simp]: "apply_outputs [] s = []"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. apply_outputs [] s = []
[PROOF STEP]
by (simp add: apply_outputs_def)


text:
[STATEMENT]
lemma subst_domain_Var [simp]:
  "subst_domain Var = {}"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. subst_domain Var = {}
[PROOF STEP]
by (simp add: subst_domain_def)


text:
[STATEMENT]
lemma range_vars_Var[simp]: "range_vars Var = {}"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. range_vars Var = {}
[PROOF STEP]
by fastforce


text:
[STATEMENT]
lemma zip_Nil [simp]: "zip [] ys = []"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. zip [] ys = []
[PROOF STEP]
by (induct ys) auto


text:
[STATEMENT]
lemma norm_stack_Nil[simp]: "norm_stack [] = []"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. norm_stack [] = []
[PROOF STEP]
by (simp add: norm_stack_def)


text:
[STATEMENT]
lemma bv_not_Nil [simp]: "bv_not [] = []"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. bv_not [] = []
[PROOF STEP]
by (simp add: bv_not_def)


text:
[STATEMENT]
lemma holomorphic_on_empty [holomorphic_intros]: "f holomorphic_on {}"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. f holomorphic_on {}
[PROOF STEP]
by (simp add: holomorphic_on_def)


text:
[STATEMENT]
lemma Abs_map_NIL [simp]: "Abs_map g NIL = Nil"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. Abs_map g NIL = []
[PROOF STEP]
by (simp add: Abs_map_def)


text:
[STATEMENT]
lemma shift_Nil [simp]: "shift n [] = []"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. shift n [] = []
[PROOF STEP]
by(simp add:shift_def)


text:
[STATEMENT]
lemma coeffs_0 [simp]: "coeffs 0 = {}"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. MPoly_Type.coeffs 0 = {}
[PROOF STEP]
by transfer auto


text:
[STATEMENT]
lemma loc_env_simps[simp]:
  "loc [] = []"
  "env [] = []"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. loc [] = [] &&& env [] = []
[PROOF STEP]
by (unfold loc_def env_def) auto


text:
[STATEMENT]
lemma mpoly_map_vars_Const [simp]: "mpoly_map_vars f (Const c) = Const c"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. mpoly_map_vars f (Const c) = Const c
[PROOF STEP]
by transfer (auto simp: o_def fun_eq_iff when_def)


text:
[STATEMENT]
lemma coeffs_0_eq_Nil [simp]: "coeffs 0 = []"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. coeffs 0 = []
[PROOF STEP]
by simp


text:
[STATEMENT]
lemma concat_replicate_trivial[simp]:
  "concat (replicate i []) = []"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. concat (replicate i []) = []
[PROOF STEP]
by (induct i) (auto simp add: map_replicate_const)


text:
[STATEMENT]
lemma map_types_id[simp]: "map_types id t = t"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. map_types id t = t
[PROOF STEP]
by (induction t) simp_all


text:
[STATEMENT]
lemma fixbound_empty[simp]:
  "fixbound {} x = {}"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. fixbound {} x = {}
[PROOF STEP]
by (auto simp: fixbound_def)


text:
[STATEMENT]
lemma chop_0 [simp]: "chop 0 xs = []"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. chop 0 xs = []
[PROOF STEP]
by (simp add: chop.simps)


text:
[STATEMENT]
lemma gen_ne [simp]: "gen B n \<noteq> []"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. gen B n \<noteq> []
[PROOF STEP]
by (induct n) auto


text:
[STATEMENT]
lemma reverse_Nil [simp]:
  "reverse\<cdot>[] = []"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. reverse\<cdot>[] = []
[PROOF STEP]
by (simp add: reverse.simps)


text:
[STATEMENT]
lemma graph_restrict_trivial[simp]: "graph_restrict G {} = G"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. graph_restrict G {} = G
[PROOF STEP]
by simp


text:
[STATEMENT]
lemma guard_False [simp]: "guard False = None"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. guard False = None
[PROOF STEP]
by simp


text:
[STATEMENT]
lemma med_progress_empty [simp]: "med_progress Map.empty = Map.empty"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. med_progress Map.empty = Map.empty
[PROOF STEP]
by (rule ext, auto)


text:
[STATEMENT]
lemma undefined_is_map_on_empty:
  fixes f:: "'a set \<Rightarrow> 'b set"
  assumes "f = (\<lambda>x. undefined)"
  shows "map f {} {}"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. map f {} {}
[PROOF STEP]
using assms
[PROOF STATE]
proof (prove)
using this:
f = (\<lambda>x. undefined)

goal (1 subgoal):
 1. map f {} {}
[PROOF STEP]
by (simp add: map.intro)


text:
[STATEMENT]
lemma shift_0 [simp]: "shift 0 xt = xt"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. shift 0 xt = xt
[PROOF STEP]
by(induct xt)(auto simp:shift_def)


text:
[STATEMENT]
lemma extension_on_empty [simp]: "extension_on {} p q"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. extension_on {} p q
[PROOF STEP]
by (auto simp: extension_on_def)


text:
[STATEMENT]
lemma pop_Nil[simp]: "pop [] v = []"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. local.pop [] v = []
[PROOF STEP]
by (auto simp: pop_def)


text:
[STATEMENT]
lemma add_m_stack_nneg:
 "0 \<le> a \<Longrightarrow> add_m_stack n stk ms a = ms a"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. 0 \<le> a \<Longrightarrow> add_m_stack n stk ms a = ms a
[PROOF STEP]
by (induction n arbitrary: stk, simp_all)


text:
[STATEMENT]
lemma inj_on_OK [simp]: "inj_on OK A"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. inj_on OK A
[PROOF STEP]
by(auto simp add: inj_on_def)


text:
[STATEMENT]
lemma coding_tm_HTuple [intro]: "coding_tm (HTuple k)"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. coding_tm (HTuple k)
[PROOF STEP]
by (induct k, auto)


text:
[STATEMENT]
lemma [simp,code_unfold]: "Set{}->any\<^sub>S\<^sub>e\<^sub>t() = null"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. Set{}->any\<^sub>S\<^sub>e\<^sub>t() = null
[PROOF STEP]
by(rule ext, simp add: OclANY_def, simp add: false_def true_def)


text:
[STATEMENT]
lemma omit_id: \<open>omit {} ps = ps\<close>
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. omit {} ps = ps
[PROOF STEP]
by (induct ps) auto


text:
[STATEMENT]
lemma treap_Leaf: "treap \<langle>\<rangle>"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. treap \<langle>\<rangle>
[PROOF STEP]
by (simp add: treap_def)


text:
[STATEMENT]
lemma swap_different_sorts [simp]:
  "sort_of a \<noteq> sort_of b \<Longrightarrow> (a \<rightleftharpoons> b) = 0"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. sort_of a \<noteq> sort_of b \<Longrightarrow> (a \<rightleftharpoons> b) = 0
[PROOF STEP]
by (rule Rep_perm_ext) (simp add: Rep_perm_simps)


text:
[STATEMENT]
lemma target_nil [simp] : "target q [] = q"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. target q [] = q
[PROOF STEP]
by auto


text:
[STATEMENT]
lemma adapt_vars_simps[code, simp]: "adapt_vars (Fun f ts) = Fun f (map adapt_vars ts)"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. adapt_vars (Fun f ts) = Fun f (map adapt_vars ts)
[PROOF STEP]
by (induct ts, auto simp: adapt_vars_def)


text:
[STATEMENT]
lemma nth_default_strip_while_dflt [simp]:
  "nth_default dflt (strip_while ((=) dflt) xs) = nth_default dflt xs"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. nth_default dflt (strip_while ((=) dflt) xs) = nth_default dflt xs
[PROOF STEP]
by (induct xs rule: rev_induct) auto


text:
[STATEMENT]
lemma None_add2 [simp]:
  "None ++ x = None"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. None ++ x = None
[PROOF STEP]
by (simp add: lift2_def split: option.splits)


text:
[STATEMENT]
lemma steps_non_empty[simp]:
  "\<not> steps []"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. \<not> steps []
[PROOF STEP]
by (auto elim: steps.cases)


text:
[STATEMENT]
lemma merge_None[simp]: "merge None h = h"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. merge None h = h
[PROOF STEP]
by(cases h)auto


text:
[STATEMENT]
lemma padd_Nil2[simp]: "p +++ [] = p"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. p +++ [] = p
[PROOF STEP]
by (induct p) auto


text:
[STATEMENT]
lemma apply_operations_empty [simp]: "apply_operations [] s = Some s"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. apply_operations [] s = Some s
[PROOF STEP]
by(auto simp: apply_operations_def)


text:
[STATEMENT]
lemma mrbst_inter_Leaf_right [simp]:
  "mrbst_inter (t1 :: 'a :: linorder tree) \<langle>\<rangle> = return_pmf \<langle>\<rangle>"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. mrbst_inter t1 \<langle>\<rangle> = return_pmf \<langle>\<rangle>
[PROOF STEP]
by (induction t1) (auto simp: bind_return_pmf)


text:
[STATEMENT]
lemma interact_sing [simp]: "interact [x] ys = x @ concat ys"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. interact [x] ys = x @ concat ys
[PROOF STEP]
by (metis (no_types) concat.simps(2) interact.simps neq_Nil_conv)


text:
[STATEMENT]
lemma normalize_sort_empty[simp]: "normalize_sort cs full_sort = full_sort"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. normalized_sort cs full_sort
[PROOF STEP]
by (simp add: normalize_sort_def)


text:
[STATEMENT]
lemma map_id_on_out [simp]:
  "x \<notin> xs \<Longrightarrow> map_id_on xs x = None"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. x \<notin> xs \<Longrightarrow> map_id_on xs x = None
[PROOF STEP]
by (simp add:map_id_on_def)


text:
[STATEMENT]
lemma append_Nil2 [simp]:
  "xs ++ [] = xs"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. xs ++ [] = xs
[PROOF STEP]
by (induct xs) simp_all


text:
[STATEMENT]
lemma is_dyn_operand_eq_typeof_Dyn[simp]: "is_dyn_operand x \<longleftrightarrow> typeof x = None"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. is_dyn_operand x = (typeof x = None)
[PROOF STEP]
by (cases x; simp)


text:
[STATEMENT]
lemma map_add_comm: "dom m1 \<inter> dom m2 = {} \<Longrightarrow> m1 ++ m2 = m2 ++ m1"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. dom m1 \<inter> dom m2 = {} \<Longrightarrow> m1 ++ m2 = m2 ++ m1
[PROOF STEP]
by (rule ext) (force simp: map_add_def dom_def split: option.split)


text:
[STATEMENT]
lemma hyps_free_Nil[simp]: "hyps_free []"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. hyps_free []
[PROOF STEP]
by (simp add: hyps_free_def)


text:
[STATEMENT]
lemma map_id_on_in [simp]:
  "x \<in> xs \<Longrightarrow> map_id_on xs x = Some x"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. x \<in> xs \<Longrightarrow> map_id_on xs x = Some x
[PROOF STEP]
by (simp add:map_id_on_def)


text:
[STATEMENT]
lemma evalS_nil[simp]: "evalS M phi [] = False"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. evalS M phi [] = False
[PROOF STEP]
by(simp add: evalS_def)


text:
[STATEMENT]
lemma removeNones_empty[simp]: "removeNones [] = []"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. removeNones [] = []
[PROOF STEP]
by auto


text:
[STATEMENT]
lemma swap_same_id[simp]: "swap n n t = t"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. swap n n t = t
[PROOF STEP]
by (induct t) simp_all


text:
[STATEMENT]
lemma insert_Nil [simp]: "List.insert x [] = [x]"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. List.insert x [] = [x]
[PROOF STEP]
by simp


text:
[STATEMENT]
lemma less_eq_bot_Bot [simp]: "Bot \<le> x"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. Bot \<le> x
[PROOF STEP]
by (simp add: less_eq_bot_def)


text:
[STATEMENT]
lemma front_tickFree_Nil[simp]: "front_tickFree []"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. front_tickFree []
[PROOF STEP]
by(simp add: front_tickFree_def)


text:
[STATEMENT]
lemma nfoldli_no_ctd[simp]: "\<not>ctd s \<Longrightarrow> nfoldli l ctd f s = RETURN s"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. \<not> ctd s \<Longrightarrow> nfoldli l ctd f s = RETURN s
[PROOF STEP]
by (cases l) auto


text:
[STATEMENT]
lemma permutep_id [simp]: "permutep id mon = mon"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. permutep id mon = mon
[PROOF STEP]
by transfer auto


text:
[STATEMENT]
lemma loc_map_env [simp]: "loc (map ENV w) = []"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. loc (map ENV w) = []
[PROOF STEP]
by (unfold loc_def) simp


text:
[STATEMENT]
lemma "\<turnstile> \<lbrace>True\<rbrace> \<acute>N := 10 \<lbrace>\<acute>N = 10\<rbrace>"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. \<turnstile> \<lbrace>True\<rbrace> \<acute>N := 10 \<lbrace>\<acute>N = 10\<rbrace>
[PROOF STEP]
by hoare


text:
[STATEMENT]
lemma OclSelect_null[simp,code_unfold]:"null->select\<^sub>B\<^sub>a\<^sub>g(a | P a) = invalid"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. OclSelect null P = invalid
[PROOF STEP]
by(simp add: bot_fun_def invalid_def OclSelect_def defined_def valid_def false_def true_def)


text:
[STATEMENT]
lemma effect_updateI [effect_intros]:
  assumes "h' = set r v h"
  shows "effect (r := v) h h' x"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. effect (r := v) h h' x
[PROOF STEP]
by (rule effectI) (insert assms, simp add: execute_simps)


text:
[STATEMENT]
lemma to_bool_1 [simp]: "to_bool 1"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. to_bool 1
[PROOF STEP]
by (simp add: to_bool_def)


text:
[STATEMENT]
lemma ASIF_None[simp]: "ASIF ifopt \<epsilon> \<longleftrightarrow> ifopt = None"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. ASIF ifopt \<epsilon> = (ifopt = None)
[PROOF STEP]
by(cases ifopt, auto)


text:
[STATEMENT]
lemma fail_bind [simp]:
  "fail >>= f = fail"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. fail >>= f = fail
[PROOF STEP]
by (simp add: bind_def fail_def)


text:
[STATEMENT]
lemma shows_prec_arctic_delta_append [show_law_simps]:
  "shows_prec d (a :: 'a arctic_delta) (r @ s) = shows_prec d a r @ s"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. shows_prec d a (r @ s) = shows_prec d a r @ s
[PROOF STEP]
by (cases a) (auto simp: shows_prec_arctic_delta_def show_law_simps)