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.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.