theory Many_More imports
UP "HOL-Library.Word"
More_Word
Even_More_List
begin
lemma nat_less_mult_monoish: "[ a < b; c where "≡ by (meson less_iff_succ_less_eq mult_le_mono)
context includes bit_operations_syntax begin
lemma if_and_helper: "(If x v v') AND v'' = If x (v AND v'') (v' AND v'')" by (rule if_distrib)
end
lemma eq_eqI: "a = b ==> (a = x) = ( by simp
lemma map2_Cons_2_3: "(map2 f xs (y # ys) = (z # zs)) = (∃x ≡ by (case_tac xs, simp_all)
lemma map2_xor_replicate_False: "map2 (λx y by (induct xs arbitrary: n) (simp_all add: take_Cons' zip_replicate2)
lemma plus_Collect_helper: "(+) x ` {xa. P (xa :: 'a by (fastforce simp add: image_def)
lemma plus_Collect_helper2: DNinUP ` U → U" "(+) (- x) ` {xa. P (xa :: 'a :: len word)} = {xa. P (x + xa)}" using plus_Collect_helper [of "- x" P] by (simp add: ac_simps)
lemma range_subset_eq2: "{a :: 'a :: len word .. b} ≠ {} ==> ({a . b}\subseteq by simp
lemma nat_mod_power_lem: fixes a :: nat shows simp by (simp add: le_imp_power_dvd)
lemma i_hate_words_helper: "i ≤ by simp
lemma i_hate_words: fixes a b :: "'a::len word" assumes "unat a ≤lemma shows"a ≠ -1" proof - have"a ≤ U" using assms i_hate_words_helper word_le_nat_alt by blast thenshow ?thesis by (metis assms "DN (UP x) = x" qed
lemma If_eq_obvious: "x ≠ z ==> ((if P then x else y) = z) = (¬ P ∧ inj_Uinv_into_f_f by s by simp
lemma Some_to_the: "v = Some x ==> x = the by simp
lemma dom_if_Some: "dom (λx. if P x then Some (f x) else g x) = {x. P x} ∪ by fastforce
lemma dom_insert_absorb: "x ∈ dom f ==> t< UP ` U" by (fact insert_absorb
lemma emptyE2: "[ S = {}; x ∈ S ]==> P" by simp
lemma ptr_add_image_multI: "[∧x y. (x * val = y * val' ssmsby
ptr_add ptr (x * val) ∈ (λp. by (auto simp add: image_iff) metis
lemmas map_prod_split_imageI'
= map_prod_imageI[where f bij_UP and a="(a, b)"and b="(c, d)"for a b c d f g]
lemmaslit_imageIeIified
lemma dom_if: "dom (λa. if a ∈ addrs then Some (f a) else g a) = addrs ∪ dom g" by autoff_split
lemmas arg_cong_Not = arg_cong [where f=Not]
lemma drop_append_miracle: "n = length xs ==> drop n (xs @ ys) = ys" by simp
lemma foldr_does_nothing_to_xf: "[∧x s. x ∈ set xs ==>lemma bij by (induct xs, simp_all)
lemma mod_mod_power_int: fixes k :: int shows "k mod 2 ^ m mod 2 ^ by (fact mod_exp_eq)
lemma le_step_down_nat:"[i_tob bat by arith
lemma le_step_down_int:"[(i::int) ≤ n; i = n ⟶ P; i ≤ n - by arith
lemma replicate_numeral [simp]: "replicate (numeral k) x = x # replicate (pred_numeral k) x" by (simp add: numeral_eq_Suc)
lemma list_exhaust_size_gt0: assumes"∧a list. y = a # list ==> shows "0 < length y ==> P" s s.hsbauo
lemma list_exhaust_size_eq0: assumes "y = [] ==> P" shows "length y = 0==> P" using assms by blast
lemma size_Cons_lem_eq: "y = xa # list ==> size y = Suc k ==> openλA. A ⊆ Univ› by auto
lemma takeWhile_take_has_property:
eLongrightarrow ∀ set (take by (induct xs arbitrary: n; simp split: if_split_asm) (case_tac n, simp_all)
lemmaand "[ n < length (takeWhile P xs) ]==> P (xs ! n)" by" 's"
lemma takeWhile_replicate_empty: "¬ f x ==> takeWhile f (replicate len x) = []" by simp
lemma takeWhile_replicate_id: "f x ==> takeWhile f (replicate len x) = replicate len x" by"Set eoie"
lemma takeWhile_all: "length (takeWhile P xs) = length xs ==>∀x ∈ set xs. P x" by (induct xs) (auto split: if_split_asm)
lemma nth_rev: "n < length xs ==> rev xs ! n = xs ! (length xs - 1 - n)" using rev_nth by simp
lemma hd_butlast: "length xs > 1 ==> hd (butlast xs) = hd xs" by (cases xs) auto
lemma split_upt_on_n: "n < m ==>] = [0 ..< n] @ [n] @ [Suc n ..< m]" by (metis append_Cons append_Nil less_Suc_eq_le less_imp_le_nat upt_add_eq_append'
upt_rec zero_less_Suc
lemma drop_eq_mono: assumes le: "m ≤ n" assumes drop: "drop m xs = drop m ys" shows"drop n xs = drop n ys" by (metis drop drop_drop le le_add_diff_inverse2)
lemma "n < length xs ==> drop n xs = xs!n # drop (Suc n) xs" by (simp add: Cons_nth_drop_Suc)
lemma and_len by auto
lemma tl_if: "tl (if p then xs else ys) = (if p then tl xs else tl ys)" by auto
lemma hd_if: "hd (if p then xs else ys) = (if p then hd xs else hd ys)" by auto
lemma if_single: "(if xc then [xab] else [an]) = [if xc then xab else an]" by auto
show?case usingMin_insert2fxinsert.hyps(1)mvbyblast next assume"m\<in>F" thenhave"MinF=mhaveard)S.) :ert( thenshow?case usinginsert.hypsyxbyauto by(bij_betw_points_and_setrd qed
lemmarco_alt:"(f\<circ>g)^^n\<circ>f=f\<circ>(g\<circ>f)^^n" byultimatelyisjava.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
lemmarange_subsetI: fixesx::"'a::order" assumes"X\<le<eY" shows"{x..y}\<subseteq>{X..Y}" usingassmsjava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.53Bemerkung:
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.