[STATEMENT]
lemma cos_3over2_pi [simp]: "cos (3/2*pi) = 0"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. cos (3 / 2 * pi) = 0
[PROOF STEP]
proof -
[PROOF STATE]
proof (state)
goal (1 subgoal):
 1. cos (3 / 2 * pi) = 0
[PROOF STEP]
have "cos (3/2*pi) = cos (pi + pi/2)"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. cos (3 / 2 * pi) = cos (pi + pi / 2)
[PROOF STEP]
by simp
[PROOF STATE]
proof (state)
this:
cos (3 / 2 * pi) = cos (pi + pi / 2)

goal (1 subgoal):
 1. cos (3 / 2 * pi) = 0
[PROOF STEP]
also
[PROOF STATE]
proof (state)
this:
cos (3 / 2 * pi) = cos (pi + pi / 2)

goal (1 subgoal):
 1. cos (3 / 2 * pi) = 0
[PROOF STEP]
have "... = 0"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. cos (pi + pi / 2) = 0
[PROOF STEP]
by (subst cos_add, simp)
[PROOF STATE]
proof (state)
this:
cos (pi + pi / 2) = 0

goal (1 subgoal):
 1. cos (3 / 2 * pi) = 0
[PROOF STEP]
finally
[PROOF STATE]
proof (chain)
picking this:
cos (3 / 2 * pi) = 0
[PROOF STEP]
show ?thesis
[PROOF STATE]
proof (prove)
using this:
cos (3 / 2 * pi) = 0

goal (1 subgoal):
 1. cos (3 / 2 * pi) = 0
[PROOF STEP]
.
[PROOF STATE]
proof (state)
this:
cos (3 / 2 * pi) = 0

goal:
No subgoals!
[PROOF STEP]
qed


[STATEMENT]
lemma summable_const_iff: "summable (\<lambda>_. c) \<longleftrightarrow> c = 0"
  for c :: "'a::real_normed_vector"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. summable (\<lambda>_. c) = (c = (0::'a))
[PROOF STEP]
proof -
[PROOF STATE]
proof (state)
goal (1 subgoal):
 1. summable (\<lambda>_. c) = (c = (0::'a))
[PROOF STEP]
have "\<not> summable (\<lambda>_. c)" if "c \<noteq> 0"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. \<not> summable (\<lambda>_. c)
[PROOF STEP]
proof -
[PROOF STATE]
proof (state)
goal (1 subgoal):
 1. \<not> summable (\<lambda>_. c)
[PROOF STEP]
from that
[PROOF STATE]
proof (chain)
picking this:
c \<noteq> (0::'a)
[PROOF STEP]
have "filterlim (\<lambda>n. of_nat n * norm c) at_top sequentially"
[PROOF STATE]
proof (prove)
using this:
c \<noteq> (0::'a)

goal (1 subgoal):
 1. LIM n sequentially. real n * norm c :> at_top
[PROOF STEP]
by (subst mult.commute)
        (auto intro!: filterlim_tendsto_pos_mult_at_top filterlim_real_sequentially)
[PROOF STATE]
proof (state)
this:
LIM n sequentially. real n * norm c :> at_top

goal (1 subgoal):
 1. \<not> summable (\<lambda>_. c)
[PROOF STEP]
then
[PROOF STATE]
proof (chain)
picking this:
LIM n sequentially. real n * norm c :> at_top
[PROOF STEP]
have "\<not> convergent (\<lambda>n. norm (\<Sum>k<n. c))"
[PROOF STATE]
proof (prove)
using this:
LIM n sequentially. real n * norm c :> at_top

goal (1 subgoal):
 1. \<not> convergent (\<lambda>n. norm (\<Sum>k<n. c))
[PROOF STEP]
by (intro filterlim_at_infinity_imp_not_convergent filterlim_at_top_imp_at_infinity)
        (simp_all add: sum_constant_scaleR)
[PROOF STATE]
proof (state)
this:
\<not> convergent (\<lambda>n. norm (\<Sum>k<n. c))

goal (1 subgoal):
 1. \<not> summable (\<lambda>_. c)
[PROOF STEP]
then
[PROOF STATE]
proof (chain)
picking this:
\<not> convergent (\<lambda>n. norm (\<Sum>k<n. c))
[PROOF STEP]
show ?thesis
[PROOF STATE]
proof (prove)
using this:
\<not> convergent (\<lambda>n. norm (\<Sum>k<n. c))

goal (1 subgoal):
 1. \<not> summable (\<lambda>_. c)
[PROOF STEP]
unfolding summable_iff_convergent
[PROOF STATE]
proof (prove)
using this:
\<not> convergent (\<lambda>n. norm (\<Sum>k<n. c))

goal (1 subgoal):
 1. \<not> convergent (\<lambda>n. \<Sum>_<n. c)
[PROOF STEP]
using convergent_norm
[PROOF STATE]
proof (prove)
using this:
\<not> convergent (\<lambda>n. norm (\<Sum>k<n. c))
convergent ?f \<Longrightarrow> convergent (\<lambda>n. norm (?f n))

goal (1 subgoal):
 1. \<not> convergent (\<lambda>n. \<Sum>_<n. c)
[PROOF STEP]
by blast
[PROOF STATE]
proof (state)
this:
\<not> summable (\<lambda>_. c)

goal:
No subgoals!
[PROOF STEP]
qed
[PROOF STATE]
proof (state)
this:
c \<noteq> (0::'a) \<Longrightarrow> \<not> summable (\<lambda>_. c)

goal (1 subgoal):
 1. summable (\<lambda>_. c) = (c = (0::'a))
[PROOF STEP]
then
[PROOF STATE]
proof (chain)
picking this:
c \<noteq> (0::'a) \<Longrightarrow> \<not> summable (\<lambda>_. c)
[PROOF STEP]
show ?thesis
[PROOF STATE]
proof (prove)
using this:
c \<noteq> (0::'a) \<Longrightarrow> \<not> summable (\<lambda>_. c)

goal (1 subgoal):
 1. summable (\<lambda>_. c) = (c = (0::'a))
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
summable (\<lambda>_. c) = (c = (0::'a))

goal:
No subgoals!
[PROOF STEP]
qed


[STATEMENT]
lemma vec_plus_comm: "vec_plus x y = vec_plus y x"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. vec_plus x y = vec_plus y x
[PROOF STEP]
unfolding vec_plusI_def
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. map (\<lambda>xy. fst xy + snd xy) (zip x y) = map (\<lambda>xy. fst xy + snd xy) (zip y x)
[PROOF STEP]
proof (induct x arbitrary: y)
[PROOF STATE]
proof (state)
goal (2 subgoals):
 1. \<And>y. map (\<lambda>xy. fst xy + snd xy) (zip [] y) = map (\<lambda>xy. fst xy + snd xy) (zip y [])
 2. \<And>a x y. (\<And>y. map (\<lambda>xy. fst xy + snd xy) (zip x y) = map (\<lambda>xy. fst xy + snd xy) (zip y x)) \<Longrightarrow> map (\<lambda>xy. fst xy + snd xy) (zip (a # x) y) = map (\<lambda>xy. fst xy + snd xy) (zip y (a # x))
[PROOF STEP]
case (Cons a x)
[PROOF STATE]
proof (state)
this:
map (\<lambda>xy. fst xy + snd xy) (zip x ?y) = map (\<lambda>xy. fst xy + snd xy) (zip ?y x)

goal (2 subgoals):
 1. \<And>y. map (\<lambda>xy. fst xy + snd xy) (zip [] y) = map (\<lambda>xy. fst xy + snd xy) (zip y [])
 2. \<And>a x y. (\<And>y. map (\<lambda>xy. fst xy + snd xy) (zip x y) = map (\<lambda>xy. fst xy + snd xy) (zip y x)) \<Longrightarrow> map (\<lambda>xy. fst xy + snd xy) (zip (a # x) y) = map (\<lambda>xy. fst xy + snd xy) (zip y (a # x))
[PROOF STEP]
thus ?case
[PROOF STATE]
proof (prove)
using this:
map (\<lambda>xy. fst xy + snd xy) (zip x ?y) = map (\<lambda>xy. fst xy + snd xy) (zip ?y x)

goal (1 subgoal):
 1. map (\<lambda>xy. fst xy + snd xy) (zip (a # x) y) = map (\<lambda>xy. fst xy + snd xy) (zip y (a # x))
[PROOF STEP]
by (cases y, auto simp: add.commute)
[PROOF STATE]
proof (state)
this:
map (\<lambda>xy. fst xy + snd xy) (zip (a # x) y) = map (\<lambda>xy. fst xy + snd xy) (zip y (a # x))

goal (1 subgoal):
 1. \<And>y. map (\<lambda>xy. fst xy + snd xy) (zip [] y) = map (\<lambda>xy. fst xy + snd xy) (zip y [])
[PROOF STEP]
qed simp


[STATEMENT]
lemma summable_zero[simp, intro]: "summable (\<lambda>n. 0)"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. summable (\<lambda>n. 0::'a)
[PROOF STEP]
by (rule sums_zero [THEN sums_summable])


[STATEMENT]
lemma cltn2_compose_is_K2_isometry:
  assumes "is_K2_isometry H" and "is_K2_isometry J"
  shows "is_K2_isometry (cltn2_compose H J)"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. is_K2_isometry (cltn2_compose H J)
[PROOF STEP]
using \<open>is_K2_isometry H\<close> and \<open>is_K2_isometry J\<close>
[PROOF STATE]
proof (prove)
using this:
is_K2_isometry H
is_K2_isometry J

goal (1 subgoal):
 1. is_K2_isometry (cltn2_compose H J)
[PROOF STEP]
unfolding is_K2_isometry_def
[PROOF STATE]
proof (prove)
using this:
\<forall>p. (apply_cltn2 p H \<in> S) = (p \<in> S)
\<forall>p. (apply_cltn2 p J \<in> S) = (p \<in> S)

goal (1 subgoal):
 1. \<forall>p. (apply_cltn2 p (cltn2_compose H J) \<in> S) = (p \<in> S)
[PROOF STEP]
by (simp add: cltn2.act_act [simplified, symmetric])


[STATEMENT]
lemma frontier_subset_eq: "frontier S \<subseteq> S \<longleftrightarrow> closed S"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. (frontier S \<subseteq> S) = closed S
[PROOF STEP]
proof -
[PROOF STATE]
proof (state)
goal (1 subgoal):
 1. (frontier S \<subseteq> S) = closed S
[PROOF STEP]
{
[PROOF STATE]
proof (state)
goal (1 subgoal):
 1. (frontier S \<subseteq> S) = closed S
[PROOF STEP]
assume "frontier S \<subseteq> S"
[PROOF STATE]
proof (state)
this:
frontier S \<subseteq> S

goal (1 subgoal):
 1. (frontier S \<subseteq> S) = closed S
[PROOF STEP]
then
[PROOF STATE]
proof (chain)
picking this:
frontier S \<subseteq> S
[PROOF STEP]
have "closure S \<subseteq> S"
[PROOF STATE]
proof (prove)
using this:
frontier S \<subseteq> S

goal (1 subgoal):
 1. closure S \<subseteq> S
[PROOF STEP]
using interior_subset
[PROOF STATE]
proof (prove)
using this:
frontier S \<subseteq> S
interior ?S \<subseteq> ?S

goal (1 subgoal):
 1. closure S \<subseteq> S
[PROOF STEP]
unfolding frontier_def
[PROOF STATE]
proof (prove)
using this:
closure S - interior S \<subseteq> S
interior ?S \<subseteq> ?S

goal (1 subgoal):
 1. closure S \<subseteq> S
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
closure S \<subseteq> S

goal (1 subgoal):
 1. (frontier S \<subseteq> S) = closed S
[PROOF STEP]
then
[PROOF STATE]
proof (chain)
picking this:
closure S \<subseteq> S
[PROOF STEP]
have "closed S"
[PROOF STATE]
proof (prove)
using this:
closure S \<subseteq> S

goal (1 subgoal):
 1. closed S
[PROOF STEP]
using closure_subset_eq
[PROOF STATE]
proof (prove)
using this:
closure S \<subseteq> S
(closure ?S \<subseteq> ?S) = closed ?S

goal (1 subgoal):
 1. closed S
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
closed S

goal (1 subgoal):
 1. (frontier S \<subseteq> S) = closed S
[PROOF STEP]
}
[PROOF STATE]
proof (state)
this:
frontier S \<subseteq> S \<Longrightarrow> closed S

goal (1 subgoal):
 1. (frontier S \<subseteq> S) = closed S
[PROOF STEP]
then
[PROOF STATE]
proof (chain)
picking this:
frontier S \<subseteq> S \<Longrightarrow> closed S
[PROOF STEP]
show ?thesis
[PROOF STATE]
proof (prove)
using this:
frontier S \<subseteq> S \<Longrightarrow> closed S

goal (1 subgoal):
 1. (frontier S \<subseteq> S) = closed S
[PROOF STEP]
using frontier_subset_closed[of S]
[PROOF STATE]
proof (prove)
using this:
frontier S \<subseteq> S \<Longrightarrow> closed S
closed S \<Longrightarrow> frontier S \<subseteq> S

goal (1 subgoal):
 1. (frontier S \<subseteq> S) = closed S
[PROOF STEP]
..
[PROOF STATE]
proof (state)
this:
(frontier S \<subseteq> S) = closed S

goal:
No subgoals!
[PROOF STEP]
qed


[STATEMENT]
lemma numeral_4_eq_4: "4 = Suc (Suc (Suc (Suc 0)))"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. 4 = Suc (Suc (Suc (Suc 0)))
[PROOF STEP]
by (simp add: eval_nat_numeral)


[STATEMENT]
lemma "100094 mod 144 = (14::int)"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. 100094 mod 144 = 14
[PROOF STEP]
by simp