equal
deleted
inserted
replaced
1311 lemma snd_linear: "linear snd" |
1311 lemma snd_linear: "linear snd" |
1312 unfolding linear_iff by (simp add: algebra_simps) |
1312 unfolding linear_iff by (simp add: algebra_simps) |
1313 |
1313 |
1314 lemma fst_snd_linear: "linear (\<lambda>(x,y). x + y)" |
1314 lemma fst_snd_linear: "linear (\<lambda>(x,y). x + y)" |
1315 unfolding linear_iff by (simp add: algebra_simps) |
1315 unfolding linear_iff by (simp add: algebra_simps) |
1316 |
|
1317 lemma scaleR_2: |
|
1318 fixes x :: "'a::real_vector" |
|
1319 shows "scaleR 2 x = x + x" |
|
1320 unfolding one_add_one [symmetric] scaleR_left_distrib by simp |
|
1321 |
|
1322 lemma scaleR_half_double [simp]: |
|
1323 fixes a :: "'a::real_normed_vector" |
|
1324 shows "(1 / 2) *\<^sub>R (a + a) = a" |
|
1325 proof - |
|
1326 have "\<And>r. r *\<^sub>R (a + a) = (r * 2) *\<^sub>R a" |
|
1327 by (metis scaleR_2 scaleR_scaleR) |
|
1328 then show ?thesis |
|
1329 by simp |
|
1330 qed |
|
1331 |
1316 |
1332 lemma vector_choose_size: |
1317 lemma vector_choose_size: |
1333 assumes "0 \<le> c" |
1318 assumes "0 \<le> c" |
1334 obtains x :: "'a::{real_normed_vector, perfect_space}" where "norm x = c" |
1319 obtains x :: "'a::{real_normed_vector, perfect_space}" where "norm x = c" |
1335 proof - |
1320 proof - |