[STATEMENT]
lemma val_bounded:
  "-(\<Sum>e\<in>incoming s. c e) \<le> val"
  "val \<le> (\<Sum>e\<in>outgoing s. c e)"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. - sum c (incoming s) \<le> val &&& val \<le> sum c (outgoing s)
[PROOF STEP]
proof -
[PROOF STATE]
proof (state)
goal (2 subgoals):
 1. - sum c (incoming s) \<le> val
 2. val \<le> sum c (outgoing s)
[PROOF STEP]
have
    "sum f (outgoing s) \<le> sum c (outgoing s)"
    "sum f (incoming s) \<le> sum c (incoming s)"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. sum f (outgoing s) \<le> sum c (outgoing s) &&& sum f (incoming s) \<le> sum c (incoming s)
[PROOF STEP]
using capacity_const
[PROOF STATE]
proof (prove)
using this:
\<forall>e. (0::'capacity) \<le> f e \<and> f e \<le> c e

goal (1 subgoal):
 1. sum f (outgoing s) \<le> sum c (outgoing s) &&& sum f (incoming s) \<le> sum c (incoming s)
[PROOF STEP]
by (auto intro!: sum_mono)
[PROOF STATE]
proof (state)
this:
sum f (outgoing s) \<le> sum c (outgoing s)
sum f (incoming s) \<le> sum c (incoming s)

goal (2 subgoals):
 1. - sum c (incoming s) \<le> val
 2. val \<le> sum c (outgoing s)
[PROOF STEP]
thus "-(\<Sum>e\<in>incoming s. c e) \<le> val" "val \<le> (\<Sum>e\<in>outgoing s. c e)"
[PROOF STATE]
proof (prove)
using this:
sum f (outgoing s) \<le> sum c (outgoing s)
sum f (incoming s) \<le> sum c (incoming s)

goal (1 subgoal):
 1. - sum c (incoming s) \<le> val &&& val \<le> sum c (outgoing s)
[PROOF STEP]
using sum_f_non_negative[of "incoming s"]
[PROOF STATE]
proof (prove)
using this:
sum f (outgoing s) \<le> sum c (outgoing s)
sum f (incoming s) \<le> sum c (incoming s)
(0::'capacity) \<le> sum f (incoming s)

goal (1 subgoal):
 1. - sum c (incoming s) \<le> val &&& val \<le> sum c (outgoing s)
[PROOF STEP]
using sum_f_non_negative[of "outgoing s"]
[PROOF STATE]
proof (prove)
using this:
sum f (outgoing s) \<le> sum c (outgoing s)
sum f (incoming s) \<le> sum c (incoming s)
(0::'capacity) \<le> sum f (incoming s)
(0::'capacity) \<le> sum f (outgoing s)

goal (1 subgoal):
 1. - sum c (incoming s) \<le> val &&& val \<le> sum c (outgoing s)
[PROOF STEP]
unfolding val_def
[PROOF STATE]
proof (prove)
using this:
sum f (outgoing s) \<le> sum c (outgoing s)
sum f (incoming s) \<le> sum c (incoming s)
(0::'capacity) \<le> sum f (incoming s)
(0::'capacity) \<le> sum f (outgoing s)

goal (1 subgoal):
 1. - sum c (incoming s) \<le> sum f (outgoing s) - sum f (incoming s) &&& sum f (outgoing s) - sum f (incoming s) \<le> sum c (outgoing s)
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
- sum c (incoming s) \<le> val
val \<le> sum c (outgoing s)

goal:
No subgoals!
[PROOF STEP]
qed


[STATEMENT]
lemma even_take_bit_eq [simp]:
  \<open>even (take_bit n a) \<longleftrightarrow> n = 0 \<or> even a\<close>
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. even (take_bit n a) = (n = 0 \<or> even a)
[PROOF STEP]
by (simp add: take_bit_rec [of n a])


[STATEMENT]
lemma (in edge_space) random_prob_independent:
  assumes "n \<ge> k" "k \<ge> 2"
  shows "prob {es \<in> space P. k \<le> \<alpha> (edge_ugraph es)}
    \<le> (n choose k)*(1-p)^(k choose 2)"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. prob {es \<in> space P. enat k \<le> \<alpha> (edge_ugraph es)} \<le> real (n choose k) * (1 - p) ^ (k choose 2)
[PROOF STEP]
proof -
[PROOF STATE]
proof (state)
goal (1 subgoal):
 1. prob {es \<in> space P. enat k \<le> \<alpha> (edge_ugraph es)} \<le> real (n choose k) * (1 - p) ^ (k choose 2)
[PROOF STEP]
let "?k_sets" = "{vs. vs \<subseteq> S_verts \<and> card vs = k}"
[PROOF STATE]
proof (state)
goal (1 subgoal):
 1. prob {es \<in> space P. enat k \<le> \<alpha> (edge_ugraph es)} \<le> real (n choose k) * (1 - p) ^ (k choose 2)
[PROOF STEP]
{
[PROOF STATE]
proof (state)
goal (1 subgoal):
 1. prob {es \<in> space P. enat k \<le> \<alpha> (edge_ugraph es)} \<le> real (n choose k) * (1 - p) ^ (k choose 2)
[PROOF STEP]
fix vs
[PROOF STATE]
proof (state)
goal (1 subgoal):
 1. prob {es \<in> space P. enat k \<le> \<alpha> (edge_ugraph es)} \<le> real (n choose k) * (1 - p) ^ (k choose 2)
[PROOF STEP]
assume A: "vs \<in> ?k_sets"
[PROOF STATE]
proof (state)
this:
vs \<in> {vs. vs \<subseteq> S_verts \<and> card vs = k}

goal (1 subgoal):
 1. prob {es \<in> space P. enat k \<le> \<alpha> (edge_ugraph es)} \<le> real (n choose k) * (1 - p) ^ (k choose 2)
[PROOF STEP]
then
[PROOF STATE]
proof (chain)
picking this:
vs \<in> {vs. vs \<subseteq> S_verts \<and> card vs = k}
[PROOF STEP]
have B: "all_edges vs \<subseteq> S_edges"
[PROOF STATE]
proof (prove)
using this:
vs \<in> {vs. vs \<subseteq> S_verts \<and> card vs = k}

goal (1 subgoal):
 1. all_edges vs \<subseteq> S_edges
[PROOF STEP]
unfolding all_edges_def S_edges_def
[PROOF STATE]
proof (prove)
using this:
vs \<in> {vs. vs \<subseteq> S_verts \<and> card vs = k}

goal (1 subgoal):
 1. mk_uedge ` {uv \<in> vs \<times> vs. fst uv \<noteq> snd uv} \<subseteq> mk_uedge ` {uv \<in> S_verts \<times> S_verts. fst uv \<noteq> snd uv}
[PROOF STEP]
by blast
[PROOF STATE]
proof (state)
this:
all_edges vs \<subseteq> S_edges

goal (1 subgoal):
 1. prob {es \<in> space P. enat k \<le> \<alpha> (edge_ugraph es)} \<le> real (n choose k) * (1 - p) ^ (k choose 2)
[PROOF STEP]
have "{es \<in> space P. vs \<in> independent_sets (edge_ugraph es)}
        = cylinder S_edges {} (all_edges vs)" (is "?L = _")
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. {es \<in> space P. vs \<in> independent_sets (edge_ugraph es)} = cylinder S_edges {} (all_edges vs)
[PROOF STEP]
using A
[PROOF STATE]
proof (prove)
using this:
vs \<in> {vs. vs \<subseteq> S_verts \<and> card vs = k}

goal (1 subgoal):
 1. {es \<in> space P. vs \<in> independent_sets (edge_ugraph es)} = cylinder S_edges {} (all_edges vs)
[PROOF STEP]
by (auto simp: independent_sets_def edge_ugraph_def space_eq cylinder_def)
[PROOF STATE]
proof (state)
this:
{es \<in> space P. vs \<in> independent_sets (edge_ugraph es)} = cylinder S_edges {} (all_edges vs)

goal (1 subgoal):
 1. prob {es \<in> space P. enat k \<le> \<alpha> (edge_ugraph es)} \<le> real (n choose k) * (1 - p) ^ (k choose 2)
[PROOF STEP]
then
[PROOF STATE]
proof (chain)
picking this:
{es \<in> space P. vs \<in> independent_sets (edge_ugraph es)} = cylinder S_edges {} (all_edges vs)
[PROOF STEP]
have "prob ?L = (1-p)^(k choose 2)"
[PROOF STATE]
proof (prove)
using this:
{es \<in> space P. vs \<in> independent_sets (edge_ugraph es)} = cylinder S_edges {} (all_edges vs)

goal (1 subgoal):
 1. prob {es \<in> space P. vs \<in> independent_sets (edge_ugraph es)} = (1 - p) ^ (k choose 2)
[PROOF STEP]
using A B finite
[PROOF STATE]
proof (prove)
using this:
{es \<in> space P. vs \<in> independent_sets (edge_ugraph es)} = cylinder S_edges {} (all_edges vs)
vs \<in> {vs. vs \<subseteq> S_verts \<and> card vs = k}
all_edges vs \<subseteq> S_edges
finite ?A

goal (1 subgoal):
 1. prob {es \<in> space P. vs \<in> independent_sets (edge_ugraph es)} = (1 - p) ^ (k choose 2)
[PROOF STEP]
by (auto simp: cylinder_prob card_all_edges dest: finite_subset)
[PROOF STATE]
proof (state)
this:
prob {es \<in> space P. vs \<in> independent_sets (edge_ugraph es)} = (1 - p) ^ (k choose 2)

goal (1 subgoal):
 1. prob {es \<in> space P. enat k \<le> \<alpha> (edge_ugraph es)} \<le> real (n choose k) * (1 - p) ^ (k choose 2)
[PROOF STEP]
}
[PROOF STATE]
proof (state)
this:
?vs3 \<in> {vs. vs \<subseteq> S_verts \<and> card vs = k} \<Longrightarrow> prob {es \<in> space P. ?vs3 \<in> independent_sets (edge_ugraph es)} = (1 - p) ^ (k choose 2)

goal (1 subgoal):
 1. prob {es \<in> space P. enat k \<le> \<alpha> (edge_ugraph es)} \<le> real (n choose k) * (1 - p) ^ (k choose 2)
[PROOF STEP]
note prob_k_indep = this
    \<comment> \<open>probability that a fixed set of k vertices is independent in a random graph\<close>
[PROOF STATE]
proof (state)
this:
?vs3 \<in> {vs. vs \<subseteq> S_verts \<and> card vs = k} \<Longrightarrow> prob {es \<in> space P. ?vs3 \<in> independent_sets (edge_ugraph es)} = (1 - p) ^ (k choose 2)

goal (1 subgoal):
 1. prob {es \<in> space P. enat k \<le> \<alpha> (edge_ugraph es)} \<le> real (n choose k) * (1 - p) ^ (k choose 2)
[PROOF STEP]
have "{es \<in> space P. k \<in> card ` independent_sets (edge_ugraph es)}
    = (\<Union>vs \<in> ?k_sets. {es \<in> space P. vs \<in> independent_sets (edge_ugraph es)})" (is "?L = ?R")
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. {es \<in> space P. k \<in> card ` independent_sets (edge_ugraph es)} = (\<Union>vs\<in>{vs. vs \<subseteq> S_verts \<and> card vs = k}. {es \<in> space P. vs \<in> independent_sets (edge_ugraph es)})
[PROOF STEP]
unfolding image_def space_eq independent_sets_def
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. {es \<in> Pow S_edges. k \<in> {y. \<exists>x\<in>{vs. vs \<subseteq> uverts (edge_ugraph es) \<and> all_edges vs \<inter> uedges (edge_ugraph es) = {}}. y = card x}} = \<Union> {y. \<exists>x\<in>{vs. vs \<subseteq> S_verts \<and> card vs = k}. y = {es \<in> Pow S_edges. x \<in> {vs. vs \<subseteq> uverts (edge_ugraph es) \<and> all_edges vs \<inter> uedges (edge_ugraph es) = {}}}}
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
{es \<in> space P. k \<in> card ` independent_sets (edge_ugraph es)} = (\<Union>vs\<in>{vs. vs \<subseteq> S_verts \<and> card vs = k}. {es \<in> space P. vs \<in> independent_sets (edge_ugraph es)})

goal (1 subgoal):
 1. prob {es \<in> space P. enat k \<le> \<alpha> (edge_ugraph es)} \<le> real (n choose k) * (1 - p) ^ (k choose 2)
[PROOF STEP]
then
[PROOF STATE]
proof (chain)
picking this:
{es \<in> space P. k \<in> card ` independent_sets (edge_ugraph es)} = (\<Union>vs\<in>{vs. vs \<subseteq> S_verts \<and> card vs = k}. {es \<in> space P. vs \<in> independent_sets (edge_ugraph es)})
[PROOF STEP]
have "prob ?L \<le> (\<Sum>vs \<in> ?k_sets. prob {es \<in> space P. vs \<in> independent_sets (edge_ugraph es)})"
[PROOF STATE]
proof (prove)
using this:
{es \<in> space P. k \<in> card ` independent_sets (edge_ugraph es)} = (\<Union>vs\<in>{vs. vs \<subseteq> S_verts \<and> card vs = k}. {es \<in> space P. vs \<in> independent_sets (edge_ugraph es)})

goal (1 subgoal):
 1. prob {es \<in> space P. k \<in> card ` independent_sets (edge_ugraph es)} \<le> (\<Sum>vs | vs \<subseteq> S_verts \<and> card vs = k. prob {es \<in> space P. vs \<in> independent_sets (edge_ugraph es)})
[PROOF STEP]
by (auto intro!: finite_measure_subadditive_finite simp: space_eq sets_eq)
[PROOF STATE]
proof (state)
this:
prob {es \<in> space P. k \<in> card ` independent_sets (edge_ugraph es)} \<le> (\<Sum>vs | vs \<subseteq> S_verts \<and> card vs = k. prob {es \<in> space P. vs \<in> independent_sets (edge_ugraph es)})

goal (1 subgoal):
 1. prob {es \<in> space P. enat k \<le> \<alpha> (edge_ugraph es)} \<le> real (n choose k) * (1 - p) ^ (k choose 2)
[PROOF STEP]
also
[PROOF STATE]
proof (state)
this:
prob {es \<in> space P. k \<in> card ` independent_sets (edge_ugraph es)} \<le> (\<Sum>vs | vs \<subseteq> S_verts \<and> card vs = k. prob {es \<in> space P. vs \<in> independent_sets (edge_ugraph es)})

goal (1 subgoal):
 1. prob {es \<in> space P. enat k \<le> \<alpha> (edge_ugraph es)} \<le> real (n choose k) * (1 - p) ^ (k choose 2)
[PROOF STEP]
have "\<dots> = (n choose k)*((1 - p) ^ (k choose 2))"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. (\<Sum>vs | vs \<subseteq> S_verts \<and> card vs = k. prob {es \<in> space P. vs \<in> independent_sets (edge_ugraph es)}) = real (n choose k) * (1 - p) ^ (k choose 2)
[PROOF STEP]
by (simp add: prob_k_indep S_verts_def n_subsets)
[PROOF STATE]
proof (state)
this:
(\<Sum>vs | vs \<subseteq> S_verts \<and> card vs = k. prob {es \<in> space P. vs \<in> independent_sets (edge_ugraph es)}) = real (n choose k) * (1 - p) ^ (k choose 2)

goal (1 subgoal):
 1. prob {es \<in> space P. enat k \<le> \<alpha> (edge_ugraph es)} \<le> real (n choose k) * (1 - p) ^ (k choose 2)
[PROOF STEP]
finally
[PROOF STATE]
proof (chain)
picking this:
prob {es \<in> space P. k \<in> card ` independent_sets (edge_ugraph es)} \<le> real (n choose k) * (1 - p) ^ (k choose 2)
[PROOF STEP]
show ?thesis
[PROOF STATE]
proof (prove)
using this:
prob {es \<in> space P. k \<in> card ` independent_sets (edge_ugraph es)} \<le> real (n choose k) * (1 - p) ^ (k choose 2)

goal (1 subgoal):
 1. prob {es \<in> space P. enat k \<le> \<alpha> (edge_ugraph es)} \<le> real (n choose k) * (1 - p) ^ (k choose 2)
[PROOF STEP]
using \<open>k \<ge> 2\<close>
[PROOF STATE]
proof (prove)
using this:
prob {es \<in> space P. k \<in> card ` independent_sets (edge_ugraph es)} \<le> real (n choose k) * (1 - p) ^ (k choose 2)
2 \<le> k

goal (1 subgoal):
 1. prob {es \<in> space P. enat k \<le> \<alpha> (edge_ugraph es)} \<le> real (n choose k) * (1 - p) ^ (k choose 2)
[PROOF STEP]
by (simp add: le_\<alpha>_iff)
[PROOF STATE]
proof (state)
this:
prob {es \<in> space P. enat k \<le> \<alpha> (edge_ugraph es)} \<le> real (n choose k) * (1 - p) ^ (k choose 2)

goal:
No subgoals!
[PROOF STEP]
qed


[STATEMENT]
lemma wf_less_multiset: "wf {(M :: 'a multiset, N). M < N}"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. wf {(M, N). M < N}
[PROOF STEP]
unfolding less_multiset_def multp_def
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. wf {(M, N). (M, N) \<in> mult {(x, y). x < y}}
[PROOF STEP]
by (auto intro: wf_mult wf)


[STATEMENT]
lemma smallomegaD_filterlim_at_infinity:
  assumes "f \<in> \<omega>[F](g)"
  assumes "eventually (\<lambda>x. g x \<noteq> 0) F"
  shows   "LIM x F. f x / g x :> at_infinity"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. LIM x F. f x / g x :> at_infinity
[PROOF STEP]
using assms
[PROOF STATE]
proof (prove)
using this:
f \<in> \<omega>[F](g)
\<forall>\<^sub>F x in F. g x \<noteq> (0::'b)

goal (1 subgoal):
 1. LIM x F. f x / g x :> at_infinity
[PROOF STEP]
by (intro filterlim_norm_at_top_imp_at_infinity smallomegaD_filterlim_at_top_norm)


[STATEMENT]
lemma huntington_3_pp [simp]:
  "-(-x \<squnion> -y) \<squnion> -(-x \<squnion> y) = --x"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. - (- x \<squnion> - y) \<squnion> - (- x \<squnion> y) = - - x
[PROOF STEP]
by (metis p_dist_inf p_inf sup.commute sup_bot_left sup_inf_distrib1)


[STATEMENT]
lemma return_time0:
  "(return_time_function A)-`{0} = UNIV - recurrent_subset A"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. return_time_function A -` {0} = UNIV - recurrent_subset A
[PROOF STEP]
proof (auto)
[PROOF STATE]
proof (state)
goal (2 subgoals):
 1. \<And>x. \<lbrakk>return_time_function A x = 0; x \<in> recurrent_subset A\<rbrakk> \<Longrightarrow> False
 2. \<And>x. x \<notin> recurrent_subset A \<Longrightarrow> return_time_function A x = 0
[PROOF STEP]
fix x
[PROOF STATE]
proof (state)
goal (2 subgoals):
 1. \<And>x. \<lbrakk>return_time_function A x = 0; x \<in> recurrent_subset A\<rbrakk> \<Longrightarrow> False
 2. \<And>x. x \<notin> recurrent_subset A \<Longrightarrow> return_time_function A x = 0
[PROOF STEP]
assume *: "x \<in> recurrent_subset A" "return_time_function A x = 0"
[PROOF STATE]
proof (state)
this:
x \<in> recurrent_subset A
return_time_function A x = 0

goal (2 subgoals):
 1. \<And>x. \<lbrakk>return_time_function A x = 0; x \<in> recurrent_subset A\<rbrakk> \<Longrightarrow> False
 2. \<And>x. x \<notin> recurrent_subset A \<Longrightarrow> return_time_function A x = 0
[PROOF STEP]
define K where "K = {n::nat\<in>{1..}. (T^^n) x \<in> A}"
[PROOF STATE]
proof (state)
this:
K = {n \<in> {1..}. (T ^^ n) x \<in> A}

goal (2 subgoals):
 1. \<And>x. \<lbrakk>return_time_function A x = 0; x \<in> recurrent_subset A\<rbrakk> \<Longrightarrow> False
 2. \<And>x. x \<notin> recurrent_subset A \<Longrightarrow> return_time_function A x = 0
[PROOF STEP]
have **: "return_time_function A x = Inf K"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. return_time_function A x = \<Sqinter> K
[PROOF STEP]
using K_def return_time_function_def *
[PROOF STATE]
proof (prove)
using this:
K = {n \<in> {1..}. (T ^^ n) x \<in> A}
return_time_function ?A ?x = (if ?x \<in> recurrent_subset ?A then \<Sqinter> {n \<in> {1..}. (T ^^ n) ?x \<in> ?A} else 0)
x \<in> recurrent_subset A
return_time_function A x = 0

goal (1 subgoal):
 1. return_time_function A x = \<Sqinter> K
[PROOF STEP]
by simp
[PROOF STATE]
proof (state)
this:
return_time_function A x = \<Sqinter> K

goal (2 subgoals):
 1. \<And>x. \<lbrakk>return_time_function A x = 0; x \<in> recurrent_subset A\<rbrakk> \<Longrightarrow> False
 2. \<And>x. x \<notin> recurrent_subset A \<Longrightarrow> return_time_function A x = 0
[PROOF STEP]
have "K \<noteq> {}"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. K \<noteq> {}
[PROOF STEP]
using K_def recurrent_subset_def *
[PROOF STATE]
proof (prove)
using this:
K = {n \<in> {1..}. (T ^^ n) x \<in> A}
recurrent_subset ?A = (\<Union>n\<in>{1..}. ?A \<inter> (T ^^ n) -` ?A)
x \<in> recurrent_subset A
return_time_function A x = 0

goal (1 subgoal):
 1. K \<noteq> {}
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
K \<noteq> {}

goal (2 subgoals):
 1. \<And>x. \<lbrakk>return_time_function A x = 0; x \<in> recurrent_subset A\<rbrakk> \<Longrightarrow> False
 2. \<And>x. x \<notin> recurrent_subset A \<Longrightarrow> return_time_function A x = 0
[PROOF STEP]
moreover
[PROOF STATE]
proof (state)
this:
K \<noteq> {}

goal (2 subgoals):
 1. \<And>x. \<lbrakk>return_time_function A x = 0; x \<in> recurrent_subset A\<rbrakk> \<Longrightarrow> False
 2. \<And>x. x \<notin> recurrent_subset A \<Longrightarrow> return_time_function A x = 0
[PROOF STEP]
have "0 \<notin> K"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. 0 \<notin> K
[PROOF STEP]
using K_def
[PROOF STATE]
proof (prove)
using this:
K = {n \<in> {1..}. (T ^^ n) x \<in> A}

goal (1 subgoal):
 1. 0 \<notin> K
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
0 \<notin> K

goal (2 subgoals):
 1. \<And>x. \<lbrakk>return_time_function A x = 0; x \<in> recurrent_subset A\<rbrakk> \<Longrightarrow> False
 2. \<And>x. x \<notin> recurrent_subset A \<Longrightarrow> return_time_function A x = 0
[PROOF STEP]
ultimately
[PROOF STATE]
proof (chain)
picking this:
K \<noteq> {}
0 \<notin> K
[PROOF STEP]
have "Inf K >0"
[PROOF STATE]
proof (prove)
using this:
K \<noteq> {}
0 \<notin> K

goal (1 subgoal):
 1. 0 < \<Sqinter> K
[PROOF STEP]
by (metis (no_types, lifting) K_def One_nat_def atLeast_iff cInf_lessD mem_Collect_eq neq0_conv not_le zero_less_Suc)
[PROOF STATE]
proof (state)
this:
0 < \<Sqinter> K

goal (2 subgoals):
 1. \<And>x. \<lbrakk>return_time_function A x = 0; x \<in> recurrent_subset A\<rbrakk> \<Longrightarrow> False
 2. \<And>x. x \<notin> recurrent_subset A \<Longrightarrow> return_time_function A x = 0
[PROOF STEP]
then
[PROOF STATE]
proof (chain)
picking this:
0 < \<Sqinter> K
[PROOF STEP]
have "return_time_function A x > 0"
[PROOF STATE]
proof (prove)
using this:
0 < \<Sqinter> K

goal (1 subgoal):
 1. 0 < return_time_function A x
[PROOF STEP]
using **
[PROOF STATE]
proof (prove)
using this:
0 < \<Sqinter> K
return_time_function A x = \<Sqinter> K

goal (1 subgoal):
 1. 0 < return_time_function A x
[PROOF STEP]
by simp
[PROOF STATE]
proof (state)
this:
0 < return_time_function A x

goal (2 subgoals):
 1. \<And>x. \<lbrakk>return_time_function A x = 0; x \<in> recurrent_subset A\<rbrakk> \<Longrightarrow> False
 2. \<And>x. x \<notin> recurrent_subset A \<Longrightarrow> return_time_function A x = 0
[PROOF STEP]
then
[PROOF STATE]
proof (chain)
picking this:
0 < return_time_function A x
[PROOF STEP]
show "False"
[PROOF STATE]
proof (prove)
using this:
0 < return_time_function A x

goal (1 subgoal):
 1. False
[PROOF STEP]
using *
[PROOF STATE]
proof (prove)
using this:
0 < return_time_function A x
x \<in> recurrent_subset A
return_time_function A x = 0

goal (1 subgoal):
 1. False
[PROOF STEP]
by simp
[PROOF STATE]
proof (state)
this:
False

goal (1 subgoal):
 1. \<And>x. x \<notin> recurrent_subset A \<Longrightarrow> return_time_function A x = 0
[PROOF STEP]
qed (auto simp add: return_time_function_def)


[STATEMENT]
lemma (in domain) minus_a_inv:
  assumes "a \<in> carrier R"
  assumes "b \<in> carrier R"
  shows "a \<ominus> b = \<ominus> (b \<ominus> a)"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. a \<ominus> b = \<ominus> (b \<ominus> a)
[PROOF STEP]
by (simp add: add.inv_mult_group assms(1) assms(2) minus_eq)


[STATEMENT]
lemma wlp_SetPC_split:
  "\<lbrakk> \<And>x s. x \<in> supp (p s) \<Longrightarrow> P x \<tturnstile> wlp (f x) Q; \<And>s. nneg (p s) \<rbrakk> \<Longrightarrow>
   (\<lambda>s. \<Sum>x \<in> supp (p s). p s x * P x s) \<tturnstile> wlp (SetPC f p) Q"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. \<lbrakk>\<And>x s. x \<in> supp (p s) \<Longrightarrow> P x \<tturnstile> wlp (f x) Q; \<And>s. nneg (p s)\<rbrakk> \<Longrightarrow> \<lambda>s. \<Sum>x\<in>supp (p s). p s x * P x s \<tturnstile> wlp (SetPC f p) Q
[PROOF STEP]
by(simp add:wlp_def SetPC_split)


[STATEMENT]
lemma max_arity_decr'0:
  assumes "irules C rs"
  shows "max_arity ((transform_irule_set ^^ n) rs) = max_arity rs - n"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. max_arity ((transform_irule_set ^^ n) rs) = max_arity rs - n
[PROOF STEP]
proof (induction n)
[PROOF STATE]
proof (state)
goal (2 subgoals):
 1. max_arity ((transform_irule_set ^^ 0) rs) = max_arity rs - 0
 2. \<And>n. max_arity ((transform_irule_set ^^ n) rs) = max_arity rs - n \<Longrightarrow> max_arity ((transform_irule_set ^^ Suc n) rs) = max_arity rs - Suc n
[PROOF STEP]
case (Suc n)
[PROOF STATE]
proof (state)
this:
max_arity ((transform_irule_set ^^ n) rs) = max_arity rs - n

goal (2 subgoals):
 1. max_arity ((transform_irule_set ^^ 0) rs) = max_arity rs - 0
 2. \<And>n. max_arity ((transform_irule_set ^^ n) rs) = max_arity rs - n \<Longrightarrow> max_arity ((transform_irule_set ^^ Suc n) rs) = max_arity rs - Suc n
[PROOF STEP]
show ?case
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. max_arity ((transform_irule_set ^^ Suc n) rs) = max_arity rs - Suc n
[PROOF STEP]
apply simp
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. max_arity (transform_irule_set ((transform_irule_set ^^ n) rs)) = max_arity rs - Suc n
[PROOF STEP]
apply (subst irules.max_arity_decr)
[PROOF STATE]
proof (prove)
goal (2 subgoals):
 1. irules ?C_info ((transform_irule_set ^^ n) rs)
 2. max_arity ((transform_irule_set ^^ n) rs) - 1 = max_arity rs - Suc n
[PROOF STEP]
using Suc assms
[PROOF STATE]
proof (prove)
using this:
max_arity ((transform_irule_set ^^ n) rs) = max_arity rs - n
irules C rs

goal (2 subgoals):
 1. irules ?C_info ((transform_irule_set ^^ n) rs)
 2. max_arity ((transform_irule_set ^^ n) rs) - 1 = max_arity rs - Suc n
[PROOF STEP]
by (auto intro: irules.rules_transform_iter del: irulesI)
[PROOF STATE]
proof (state)
this:
max_arity ((transform_irule_set ^^ Suc n) rs) = max_arity rs - Suc n

goal (1 subgoal):
 1. max_arity ((transform_irule_set ^^ 0) rs) = max_arity rs - 0
[PROOF STEP]
qed auto


[STATEMENT]
lemma borel_measurable_vimage_closed:
  fixes f :: "'a::euclidean_space \<Rightarrow> 'b::euclidean_space"
  shows "f \<in> borel_measurable (lebesgue_on S) \<longleftrightarrow>
         (\<forall>T. closed T \<longrightarrow> {x \<in> S. f x \<in> T} \<in> sets (lebesgue_on S))"
        (is "?lhs = ?rhs")
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. (f \<in> borel_measurable (lebesgue_on S)) = (\<forall>T. closed T \<longrightarrow> {x \<in> S. f x \<in> T} \<in> sets (lebesgue_on S))
[PROOF STEP]
proof -
[PROOF STATE]
proof (state)
goal (1 subgoal):
 1. (f \<in> borel_measurable (lebesgue_on S)) = (\<forall>T. closed T \<longrightarrow> {x \<in> S. f x \<in> T} \<in> sets (lebesgue_on S))
[PROOF STEP]
have eq: "{x \<in> S. f x \<in> T} = S - {x \<in> S. f x \<in> (- T)}" for T
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. {x \<in> S. f x \<in> T} = S - {x \<in> S. f x \<in> - T}
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
{x \<in> S. f x \<in> ?T} = S - {x \<in> S. f x \<in> - ?T}

goal (1 subgoal):
 1. (f \<in> borel_measurable (lebesgue_on S)) = (\<forall>T. closed T \<longrightarrow> {x \<in> S. f x \<in> T} \<in> sets (lebesgue_on S))
[PROOF STEP]
show ?thesis
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. (f \<in> borel_measurable (lebesgue_on S)) = (\<forall>T. closed T \<longrightarrow> {x \<in> S. f x \<in> T} \<in> sets (lebesgue_on S))
[PROOF STEP]
apply (simp add: borel_measurable_vimage_open, safe)
[PROOF STATE]
proof (prove)
goal (2 subgoals):
 1. \<And>T. \<lbrakk>\<forall>T. open T \<longrightarrow> {x \<in> S. f x \<in> T} \<in> sets (lebesgue_on S); closed T\<rbrakk> \<Longrightarrow> {x \<in> S. f x \<in> T} \<in> sets (lebesgue_on S)
 2. \<And>T. \<lbrakk>\<forall>T. closed T \<longrightarrow> {x \<in> S. f x \<in> T} \<in> sets (lebesgue_on S); open T\<rbrakk> \<Longrightarrow> {x \<in> S. f x \<in> T} \<in> sets (lebesgue_on S)
[PROOF STEP]
apply (simp_all (no_asm) add: eq)
[PROOF STATE]
proof (prove)
goal (2 subgoals):
 1. \<And>T. \<lbrakk>\<forall>T. open T \<longrightarrow> {x \<in> S. f x \<in> T} \<in> sets (lebesgue_on S); closed T\<rbrakk> \<Longrightarrow> S - {x \<in> S. f x \<notin> T} \<in> sets (lebesgue_on S)
 2. \<And>T. \<lbrakk>\<forall>T. closed T \<longrightarrow> {x \<in> S. f x \<in> T} \<in> sets (lebesgue_on S); open T\<rbrakk> \<Longrightarrow> S - {x \<in> S. f x \<notin> T} \<in> sets (lebesgue_on S)
[PROOF STEP]
apply (intro sets.Diff sets_lebesgue_on_refl, force simp: closed_open)
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. \<And>T. \<lbrakk>\<forall>T. closed T \<longrightarrow> {x \<in> S. f x \<in> T} \<in> sets (lebesgue_on S); open T\<rbrakk> \<Longrightarrow> S - {x \<in> S. f x \<notin> T} \<in> sets (lebesgue_on S)
[PROOF STEP]
apply (intro sets.Diff sets_lebesgue_on_refl, force simp: open_closed)
[PROOF STATE]
proof (prove)
goal:
No subgoals!
[PROOF STEP]
done
[PROOF STATE]
proof (state)
this:
(f \<in> borel_measurable (lebesgue_on S)) = (\<forall>T. closed T \<longrightarrow> {x \<in> S. f x \<in> T} \<in> sets (lebesgue_on S))

goal:
No subgoals!
[PROOF STEP]
qed


[STATEMENT]
lemma fun_upds_map: "(\<forall>x. x \<notin> set ys \<longrightarrow> \<sigma> x = \<tau> x) \<Longrightarrow> \<sigma>[ys :=\<^sup>* map \<tau> ys] = \<tau>"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. \<forall>x. x \<notin> set ys \<longrightarrow> \<sigma> x = \<tau> x \<Longrightarrow> \<sigma>[ys :=\<^sup>* map \<tau> ys] = \<tau>
[PROOF STEP]
by (induct ys arbitrary: \<sigma>) auto


[STATEMENT]
lemma complex_inner_1_right [simp]: "inner x 1 = Re x"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. inner x 1 = Re x
[PROOF STEP]
unfolding inner_complex_def
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. Re x * Re 1 + Im x * Im 1 = Re x
[PROOF STEP]
by simp


[STATEMENT]
lemma min_distI_eq:
    "\<lbrakk> dist v d v'; \<And>d'. dist v d' v' \<Longrightarrow> d \<le> d' \<rbrakk> \<Longrightarrow> min_dist v v' = d"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. \<lbrakk>dist v d v'; \<And>d'. dist v d' v' \<Longrightarrow> d \<le> d'\<rbrakk> \<Longrightarrow> min_dist v v' = d
[PROOF STEP]
by (force intro: min_distI2 simp: conn_def)


[STATEMENT]
lemma binomial_less_binomial_Suc:
  assumes k: "k < n div 2"
  shows   "n choose k < n choose (Suc k)"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. n choose k < n choose Suc k
[PROOF STEP]
proof -
[PROOF STATE]
proof (state)
goal (1 subgoal):
 1. n choose k < n choose Suc k
[PROOF STEP]
from k
[PROOF STATE]
proof (chain)
picking this:
k < n div 2
[PROOF STEP]
have k': "k \<le> n" "Suc k \<le> n"
[PROOF STATE]
proof (prove)
using this:
k < n div 2

goal (1 subgoal):
 1. k \<le> n &&& Suc k \<le> n
[PROOF STEP]
by simp_all
[PROOF STATE]
proof (state)
this:
k \<le> n
Suc k \<le> n

goal (1 subgoal):
 1. n choose k < n choose Suc k
[PROOF STEP]
from k'
[PROOF STATE]
proof (chain)
picking this:
k \<le> n
Suc k \<le> n
[PROOF STEP]
have "real (n choose k) = fact n / (fact k * fact (n - k))"
[PROOF STATE]
proof (prove)
using this:
k \<le> n
Suc k \<le> n

goal (1 subgoal):
 1. real (n choose k) = fact n / (fact k * fact (n - k))
[PROOF STEP]
by (simp add: binomial_fact)
[PROOF STATE]
proof (state)
this:
real (n choose k) = fact n / (fact k * fact (n - k))

goal (1 subgoal):
 1. n choose k < n choose Suc k
[PROOF STEP]
also
[PROOF STATE]
proof (state)
this:
real (n choose k) = fact n / (fact k * fact (n - k))

goal (1 subgoal):
 1. n choose k < n choose Suc k
[PROOF STEP]
from k'
[PROOF STATE]
proof (chain)
picking this:
k \<le> n
Suc k \<le> n
[PROOF STEP]
have "n - k = Suc (n - Suc k)"
[PROOF STATE]
proof (prove)
using this:
k \<le> n
Suc k \<le> n

goal (1 subgoal):
 1. n - k = Suc (n - Suc k)
[PROOF STEP]
by simp
[PROOF STATE]
proof (state)
this:
n - k = Suc (n - Suc k)

goal (1 subgoal):
 1. n choose k < n choose Suc k
[PROOF STEP]
also
[PROOF STATE]
proof (state)
this:
n - k = Suc (n - Suc k)

goal (1 subgoal):
 1. n choose k < n choose Suc k
[PROOF STEP]
from k'
[PROOF STATE]
proof (chain)
picking this:
k \<le> n
Suc k \<le> n
[PROOF STEP]
have "fact \<dots> = (real n - real k) * fact (n - Suc k)"
[PROOF STATE]
proof (prove)
using this:
k \<le> n
Suc k \<le> n

goal (1 subgoal):
 1. fact (Suc (n - Suc k)) = (real n - real k) * fact (n - Suc k)
[PROOF STEP]
by (subst fact_Suc) (simp_all add: of_nat_diff)
[PROOF STATE]
proof (state)
this:
fact (Suc (n - Suc k)) = (real n - real k) * fact (n - Suc k)

goal (1 subgoal):
 1. n choose k < n choose Suc k
[PROOF STEP]
also
[PROOF STATE]
proof (state)
this:
fact (Suc (n - Suc k)) = (real n - real k) * fact (n - Suc k)

goal (1 subgoal):
 1. n choose k < n choose Suc k
[PROOF STEP]
from k
[PROOF STATE]
proof (chain)
picking this:
k < n div 2
[PROOF STEP]
have "fact k = fact (Suc k) / (real k + 1)"
[PROOF STATE]
proof (prove)
using this:
k < n div 2

goal (1 subgoal):
 1. fact k = fact (Suc k) / (real k + 1)
[PROOF STEP]
by (simp add: field_simps)
[PROOF STATE]
proof (state)
this:
fact k = fact (Suc k) / (real k + 1)

goal (1 subgoal):
 1. n choose k < n choose Suc k
[PROOF STEP]
also
[PROOF STATE]
proof (state)
this:
fact k = fact (Suc k) / (real k + 1)

goal (1 subgoal):
 1. n choose k < n choose Suc k
[PROOF STEP]
have "fact n / (fact (Suc k) / (real k + 1) * ((real n - real k) * fact (n - Suc k))) =
               (n choose (Suc k)) * ((real k + 1) / (real n - real k))"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. fact n / (fact (Suc k) / (real k + 1) * ((real n - real k) * fact (n - Suc k))) = real (n choose Suc k) * ((real k + 1) / (real n - real k))
[PROOF STEP]
using k
[PROOF STATE]
proof (prove)
using this:
k < n div 2

goal (1 subgoal):
 1. fact n / (fact (Suc k) / (real k + 1) * ((real n - real k) * fact (n - Suc k))) = real (n choose Suc k) * ((real k + 1) / (real n - real k))
[PROOF STEP]
by (simp add: field_split_simps binomial_fact)
[PROOF STATE]
proof (state)
this:
fact n / (fact (Suc k) / (real k + 1) * ((real n - real k) * fact (n - Suc k))) = real (n choose Suc k) * ((real k + 1) / (real n - real k))

goal (1 subgoal):
 1. n choose k < n choose Suc k
[PROOF STEP]
also
[PROOF STATE]
proof (state)
this:
fact n / (fact (Suc k) / (real k + 1) * ((real n - real k) * fact (n - Suc k))) = real (n choose Suc k) * ((real k + 1) / (real n - real k))

goal (1 subgoal):
 1. n choose k < n choose Suc k
[PROOF STEP]
from assms
[PROOF STATE]
proof (chain)
picking this:
k < n div 2
[PROOF STEP]
have "(real k + 1) / (real n - real k) < 1"
[PROOF STATE]
proof (prove)
using this:
k < n div 2

goal (1 subgoal):
 1. (real k + 1) / (real n - real k) < 1
[PROOF STEP]
by simp
[PROOF STATE]
proof (state)
this:
(real k + 1) / (real n - real k) < 1

goal (1 subgoal):
 1. n choose k < n choose Suc k
[PROOF STEP]
finally
[PROOF STATE]
proof (chain)
picking this:
(\<And>x y. x < y \<Longrightarrow> real (n choose Suc k) * x < real (n choose Suc k) * y) \<Longrightarrow> real (n choose k) < real (n choose Suc k) * 1
[PROOF STEP]
show ?thesis
[PROOF STATE]
proof (prove)
using this:
(\<And>x y. x < y \<Longrightarrow> real (n choose Suc k) * x < real (n choose Suc k) * y) \<Longrightarrow> real (n choose k) < real (n choose Suc k) * 1

goal (1 subgoal):
 1. n choose k < n choose Suc k
[PROOF STEP]
using k
[PROOF STATE]
proof (prove)
using this:
(\<And>x y. x < y \<Longrightarrow> real (n choose Suc k) * x < real (n choose Suc k) * y) \<Longrightarrow> real (n choose k) < real (n choose Suc k) * 1
k < n div 2

goal (1 subgoal):
 1. n choose k < n choose Suc k
[PROOF STEP]
by (simp add: mult_less_cancel_left)
[PROOF STATE]
proof (state)
this:
n choose k < n choose Suc k

goal:
No subgoals!
[PROOF STEP]
qed


[STATEMENT]
lemma independent_explicit_finite_subsets:
  "independent A \<longleftrightarrow> (\<forall>S \<subseteq> A. finite S \<longrightarrow> (\<forall>u. (\<Sum>v\<in>S. u v *s v) = 0 \<longrightarrow> (\<forall>v\<in>S. u v = 0)))"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. independent A = (\<forall>S\<subseteq>A. finite S \<longrightarrow> (\<forall>u. (\<Sum>v\<in>S. u v *s v) = (0::'b) \<longrightarrow> (\<forall>v\<in>S. u v = (0::'a))))
[PROOF STEP]
unfolding dependent_explicit [of A]
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. (\<nexists>t u. finite t \<and> t \<subseteq> A \<and> (\<Sum>v\<in>t. u v *s v) = (0::'b) \<and> (\<exists>v\<in>t. u v \<noteq> (0::'a))) = (\<forall>S\<subseteq>A. finite S \<longrightarrow> (\<forall>u. (\<Sum>v\<in>S. u v *s v) = (0::'b) \<longrightarrow> (\<forall>v\<in>S. u v = (0::'a))))
[PROOF STEP]
by (simp add: disj_not2)


[STATEMENT]
lemma subcocycle_avg_subadditive:
  assumes "subcocycle u"
  shows "subadditive (\<lambda>n. (\<integral>x. u n x \<partial>M))"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. Fekete.subadditive (\<lambda>n. integral\<^sup>L M (u n))
[PROOF STEP]
unfolding subadditive_def
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. \<forall>m n. integral\<^sup>L M (u (m + n)) \<le> integral\<^sup>L M (u m) + integral\<^sup>L M (u n)
[PROOF STEP]
proof (intro allI)
[PROOF STATE]
proof (state)
goal (1 subgoal):
 1. \<And>m n. integral\<^sup>L M (u (m + n)) \<le> integral\<^sup>L M (u m) + integral\<^sup>L M (u n)
[PROOF STEP]
have int_u [measurable]: "\<And>n. integrable M (u n)"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. \<And>n. integrable M (u n)
[PROOF STEP]
using assms
[PROOF STATE]
proof (prove)
using this:
subcocycle u

goal (1 subgoal):
 1. \<And>n. integrable M (u n)
[PROOF STEP]
unfolding subcocycle_def
[PROOF STATE]
proof (prove)
using this:
(\<forall>n. integrable M (u n)) \<and> (\<forall>n m x. u (n + m) x \<le> u n x + u m ((T ^^ n) x))

goal (1 subgoal):
 1. \<And>n. integrable M (u n)
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
integrable M (u ?n3)

goal (1 subgoal):
 1. \<And>m n. integral\<^sup>L M (u (m + n)) \<le> integral\<^sup>L M (u m) + integral\<^sup>L M (u n)
[PROOF STEP]
fix m n
[PROOF STATE]
proof (state)
goal (1 subgoal):
 1. \<And>m n. integral\<^sup>L M (u (m + n)) \<le> integral\<^sup>L M (u m) + integral\<^sup>L M (u n)
[PROOF STEP]
have "(\<integral>x. u (n+m) x \<partial>M) \<le> (\<integral>x. u n x + u m ((T^^n) x) \<partial>M)"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. integral\<^sup>L M (u (n + m)) \<le> LINT x|M. u n x + u m ((T ^^ n) x)
[PROOF STEP]
apply (rule integral_mono)
[PROOF STATE]
proof (prove)
goal (3 subgoals):
 1. integrable M (u (n + m))
 2. integrable M (\<lambda>x. u n x + u m ((T ^^ n) x))
 3. \<And>x. x \<in> space M \<Longrightarrow> u (n + m) x \<le> u n x + u m ((T ^^ n) x)
[PROOF STEP]
using int_u
[PROOF STATE]
proof (prove)
using this:
integrable M (u ?n3)

goal (3 subgoals):
 1. integrable M (u (n + m))
 2. integrable M (\<lambda>x. u n x + u m ((T ^^ n) x))
 3. \<And>x. x \<in> space M \<Longrightarrow> u (n + m) x \<le> u n x + u m ((T ^^ n) x)
[PROOF STEP]
apply (auto simp add: Tn_integral_preserving(1))
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. \<And>x. \<lbrakk>x \<in> space M; \<And>n. integrable M (u n)\<rbrakk> \<Longrightarrow> u (n + m) x \<le> u n x + u m ((T ^^ n) x)
[PROOF STEP]
using assms
[PROOF STATE]
proof (prove)
using this:
subcocycle u

goal (1 subgoal):
 1. \<And>x. \<lbrakk>x \<in> space M; \<And>n. integrable M (u n)\<rbrakk> \<Longrightarrow> u (n + m) x \<le> u n x + u m ((T ^^ n) x)
[PROOF STEP]
unfolding subcocycle_def
[PROOF STATE]
proof (prove)
using this:
(\<forall>n. integrable M (u n)) \<and> (\<forall>n m x. u (n + m) x \<le> u n x + u m ((T ^^ n) x))

goal (1 subgoal):
 1. \<And>x. \<lbrakk>x \<in> space M; \<And>n. integrable M (u n)\<rbrakk> \<Longrightarrow> u (n + m) x \<le> u n x + u m ((T ^^ n) x)
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
integral\<^sup>L M (u (n + m)) \<le> LINT x|M. u n x + u m ((T ^^ n) x)

goal (1 subgoal):
 1. \<And>m n. integral\<^sup>L M (u (m + n)) \<le> integral\<^sup>L M (u m) + integral\<^sup>L M (u n)
[PROOF STEP]
also
[PROOF STATE]
proof (state)
this:
integral\<^sup>L M (u (n + m)) \<le> LINT x|M. u n x + u m ((T ^^ n) x)

goal (1 subgoal):
 1. \<And>m n. integral\<^sup>L M (u (m + n)) \<le> integral\<^sup>L M (u m) + integral\<^sup>L M (u n)
[PROOF STEP]
have "... \<le> (\<integral>x. u n x \<partial>M) + (\<integral>x. u m ((T^^n) x) \<partial>M)"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. LINT x|M. u n x + u m ((T ^^ n) x) \<le> integral\<^sup>L M (u n) + (LINT x|M. u m ((T ^^ n) x))
[PROOF STEP]
using int_u
[PROOF STATE]
proof (prove)
using this:
integrable M (u ?n3)

goal (1 subgoal):
 1. LINT x|M. u n x + u m ((T ^^ n) x) \<le> integral\<^sup>L M (u n) + (LINT x|M. u m ((T ^^ n) x))
[PROOF STEP]
by (auto simp add: Tn_integral_preserving(1))
[PROOF STATE]
proof (state)
this:
LINT x|M. u n x + u m ((T ^^ n) x) \<le> integral\<^sup>L M (u n) + (LINT x|M. u m ((T ^^ n) x))

goal (1 subgoal):
 1. \<And>m n. integral\<^sup>L M (u (m + n)) \<le> integral\<^sup>L M (u m) + integral\<^sup>L M (u n)
[PROOF STEP]
also
[PROOF STATE]
proof (state)
this:
LINT x|M. u n x + u m ((T ^^ n) x) \<le> integral\<^sup>L M (u n) + (LINT x|M. u m ((T ^^ n) x))

goal (1 subgoal):
 1. \<And>m n. integral\<^sup>L M (u (m + n)) \<le> integral\<^sup>L M (u m) + integral\<^sup>L M (u n)
[PROOF STEP]
have "... = (\<integral>x. u n x \<partial>M) + (\<integral>x. u m x \<partial>M)"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. integral\<^sup>L M (u n) + (LINT x|M. u m ((T ^^ n) x)) = integral\<^sup>L M (u n) + integral\<^sup>L M (u m)
[PROOF STEP]
using int_u
[PROOF STATE]
proof (prove)
using this:
integrable M (u ?n3)

goal (1 subgoal):
 1. integral\<^sup>L M (u n) + (LINT x|M. u m ((T ^^ n) x)) = integral\<^sup>L M (u n) + integral\<^sup>L M (u m)
[PROOF STEP]
by (auto simp add: Tn_integral_preserving(2))
[PROOF STATE]
proof (state)
this:
integral\<^sup>L M (u n) + (LINT x|M. u m ((T ^^ n) x)) = integral\<^sup>L M (u n) + integral\<^sup>L M (u m)

goal (1 subgoal):
 1. \<And>m n. integral\<^sup>L M (u (m + n)) \<le> integral\<^sup>L M (u m) + integral\<^sup>L M (u n)
[PROOF STEP]
finally
[PROOF STATE]
proof (chain)
picking this:
integral\<^sup>L M (u (n + m)) \<le> integral\<^sup>L M (u n) + integral\<^sup>L M (u m)
[PROOF STEP]
show "(\<integral>x. u (n+m) x \<partial>M) \<le> (\<integral>x. u n x \<partial>M) + (\<integral>x. u m x \<partial>M)"
[PROOF STATE]
proof (prove)
using this:
integral\<^sup>L M (u (n + m)) \<le> integral\<^sup>L M (u n) + integral\<^sup>L M (u m)

goal (1 subgoal):
 1. integral\<^sup>L M (u (n + m)) \<le> integral\<^sup>L M (u n) + integral\<^sup>L M (u m)
[PROOF STEP]
by simp
[PROOF STATE]
proof (state)
this:
integral\<^sup>L M (u (n + m)) \<le> integral\<^sup>L M (u n) + integral\<^sup>L M (u m)

goal:
No subgoals!
[PROOF STEP]
qed