hcju/isabelleps huggingface dataset:
strong_cases: fixes a1 :: "lam"   and a2 :: "lam"   and a :: "name"   and aa :: "name" assumes " a1 \<longrightarrow>\<^sub>\<beta> a2" obtains s1 :: "lam" and s2 :: "lam" and t :: "lam" where "a1 = App s1__ ta__" and "a2 = App s2__ ta__" and " s1__ \<longrightarrow>\<^sub>\<beta> s2__"   | s1 :: "lam" and s2 :: "lam" and t :: "lam" where "a1 = App t s1a__" and "a2 = App t s2a__" and " s1a__ \<longrightarrow>\<^sub>\<beta> s2a__"   | s1 :: "lam" and s2 :: "lam" where "\<lbrakk>a \<sharp> a1; a \<sharp> a2\<rbrakk> \<Longrightarrow> a1 = Lam [a].s1b__ \<and> a2 = Lam [a].s2b__ \<and>  s1b__ \<longrightarrow>\<^sub>\<beta> s2b__"   | s2 :: "lam" and s1 :: "lam" where "\<lbrakk>aa \<sharp> a1; aa \<sharp> a2\<rbrakk> \<Longrightarrow> a1 = App (Lam [aa].s1) s2 \<and> a2 = s1[aa::=s2] \<and> aa \<sharp> s2"
assms_1: shows "(R, expandSet P Q) \<in> sumComposeSet"
simps_2: fixes \<xi> :: "nat \<Rightarrow> 'a set"   and nds :: "'a node set"   and k :: "nat" shows "auto_run \<xi> nds (Suc k) = (SOME q'. q' \<in> nds \<and> name (auto_run \<xi> nds k) \<in> incoming q' \<and> Ball (old q') (semantics_ltlr (suffix (Suc k) \<xi>)) \<and> (\<forall>\<psi>\<in>next q'. suffix (Suc k) \<xi> \<Turnstile>\<^sub>r X\<^sub>r \<psi>) \<and> {\<eta>. \<exists>\<mu>. \<mu> U\<^sub>r \<eta> \<in> old q' \<and> suffix (Suc k) \<xi> \<Turnstile>\<^sub>r \<eta>} \<subseteq> old q')"
intro: fixes is_open :: "'c set \<Rightarrow> bool"   and \<FF> :: "'c set \<Rightarrow> 'd set"   and \<rho> :: "'c set \<Rightarrow> 'c set \<Rightarrow> 'd \<Rightarrow> 'd"   and add_str :: "'c set \<Rightarrow> 'd \<Rightarrow> 'd \<Rightarrow> 'd"   and mult_str :: "'c set \<Rightarrow> 'd \<Rightarrow> 'd \<Rightarrow> 'd"   and zero_str :: "'c set \<Rightarrow> 'd"   and one_str :: "'c set \<Rightarrow> 'd" assumes "\<And>x U. \<lbrakk>x \<in> U; is_open U\<rbrakk> \<Longrightarrow> stalk.is_local is_open \<FF> \<rho> add_str mult_str zero_str one_str (topological_space.neighborhoods is_open x) x U" shows "locally_ringed_space_axioms is_open \<FF> \<rho> add_str mult_str zero_str one_str"
relax_precise_id: fixes v :: "'v"   and u :: "'v" assumes "D v = \<delta> s v" shows "relax_outgoing u D v = \<delta> s v"
foldl2_def: fixes f :: "'d \<Rightarrow> 'c \<Rightarrow> 'c"   and xs :: "'d list"   and a :: "'c" shows "foldl2 f xs a = foldl (\<lambda>a b. f b a) a xs"
infinite_nat_iff_unbounded_le: fixes S :: "nat set" shows "infinite S = (\<forall>m. \<exists>n\<ge>m. n \<in> S)"
no_volatile_Write\<^sub>s\<^sub>bs_conv: fixes sb :: "'b memref list" shows "(outstanding_refs is_volatile_Write\<^sub>s\<^sub>b sb = {}) = (\<forall>r\<in>set sb. \<forall>v' sop' a' A L R W. r \<noteq> Write\<^sub>s\<^sub>b True a' sop' v' A L R W)"
normal_form_def: fixes \<phi> :: "String.literal ltln" shows "normal_form \<phi> \<equiv> or_list (map (\<lambda>(M, N). normal_form_disjunct \<phi> M N) (advice_sets \<phi>))"
rcos_module: fixes H :: "'c set"   and G :: "('c, 'd) monoid_scheme"   and x :: "'c"   and x' :: "'c" assumes "subgroup H G"   and "Group.group G"   and "x \<in> carrier G"   and "x' \<in> carrier G" shows "(x' \<in> H #>\<^bsub>G\<^esub> x) = (x' \<otimes>\<^bsub>G\<^esub> inv\<^bsub>G\<^esub> x \<in> H)"
rep_eq: fixes x :: "'b" shows "measure_pmf (return_pmf x) = return (count_space UNIV) x"
simps_1: fixes d :: "nat"   and f :: "nat \<Rightarrow> 'a mat" shows "matrix_sum d f 0 = 0\<^sub>m d d"
preserves_arr: fixes f :: "'c local.term set" assumes "\<F>C.arr f" shows "\<F>\<^sub>SC.arr (\<F>C.D f)"
And_def: fixes \<phi> :: "'a MFOTL.formula"   and \<psi> :: "'a MFOTL.formula" shows "MFOTL.And \<phi> \<psi> = formula.Neg (formula.Or (formula.Neg \<phi>) (formula.Neg \<psi>))"
\<psi>_eqI: fixes f :: "'d" assumes "\<guillemotleft>f : D'.unity \<rightarrow>\<^sub>D F C'.unity\<guillemotright>"   and "D.iso f"   and "f \<cdot>\<^sub>D \<iota>\<^sub>D = F'.\<iota>\<^sub>1 \<cdot>\<^sub>D D'.T (f, f)" shows "f = F'.\<psi>"
sym: fixes x :: "('a, 'b) pp \<times> nat"   and y :: "('a, 'b) pp \<times> nat" shows "invert_order (nat_term_compare cmp x y) = nat_term_compare cmp y x"
wt_init_comp_ty: fixes G :: "prog"   and C :: "qtname"   and T :: "ty"   and L :: "lenv" assumes "is_acc_type G (pid C) T" shows "\<lparr>prg = G, cls = C, lcl = L\<rparr>\<turnstile>init_comp_ty T\<Colon>\<surd>"
quicksort_correct_case4: fixes R :: "'c \<Rightarrow> 'c \<Rightarrow> bool"   and h :: "'d \<Rightarrow> 'c"   and xs0 :: "'d list"   and lo :: "nat"   and hi :: "nat"   and xs :: "'d list"   and xs' :: "'d list"   and p :: "nat" assumes "quicksort_pre R h xs0 lo hi xs"   and "partition_spec R h xs lo hi xs' p"   and "\<not> p - Suc 0 \<le> lo" shows "quicksort_pre R h xs0 lo (p - Suc 0) xs'"
psubstt_upd_1: fixes x :: "'a"   and t :: "'a FOL_Fitting.term"   and f :: "'a \<Rightarrow> 'b"   and y :: "'b" assumes "new_term x t" shows "psubstt (f(x := y)) t = psubstt f t"
fst_sup: fixes x :: "'d \<times> 'e"   and y :: "'d \<times> 'e" shows "fst (sup x y) = sup (fst x) (fst y)"
seq_char: fixes Arr :: "'a set"   and g :: "(bool, 'a list) concrete_category.arr"   and f :: "(bool, 'a list) concrete_category.arr" shows "partial_magma.arr (concrete_category.COMP {False, True} (\<lambda>x y. Collect (graph.path {False, True} Arr (\<lambda>_. False) (\<lambda>_. True) x y)) (\<lambda>_ _ _ g f. f @ g)) (concrete_category.COMP {False, True} (\<lambda>x y. Collect (graph.path {False, True} Arr (\<lambda>_. False) (\<lambda>_. True) x y)) (\<lambda>_ _ _ g f. f @ g) g f) = (partial_magma.arr (concrete_category.COMP {False, True} (\<lambda>x y. Collect (graph.path {False, True} Arr (\<lambda>_. False) (\<lambda>_. True) x y)) (\<lambda>_ _ _ g f. f @ g)) g \<and> partial_magma.arr (concrete_category.COMP {False, True} (\<lambda>x y. Collect (graph.path {False, True} Arr (\<lambda>_. False) (\<lambda>_. True) x y)) (\<lambda>_ _ _ g f. f @ g)) f \<and> (f = quiver.Zero \<and> g \<noteq> quiver.One \<or> f \<noteq> quiver.Zero \<and> g = quiver.One))"
is_coext_def: fixes x' :: "'d"   and f :: "'c"   and g :: "'d" shows "x''\<epsilon>.is_coext x' f g \<equiv> \<guillemotleft>g : x' \<rightarrow>\<^sub>D Go (C.cod f')\<guillemotright> \<and> f = \<epsilon>o (C.cod f') \<cdot>\<^sub>C F g"
\<theta>: shows "[\<lparr>A!,a\<^sup>P\<rparr> \<^bold>& (\<^bold>\<forall>F. \<lbrace>a\<^sup>P,F\<rbrace> \<^bold>\<equiv> (\<^bold>\<exists>y. \<lparr>A!,y\<^sup>P\<rparr> \<^bold>& F \<^bold>= (\<^bold>\<lambda>z. \<lparr>R,y\<^sup>P,z\<^sup>P\<rparr>) \<^bold>& \<^bold>\<not>\<lbrace>y\<^sup>P,F\<rbrace>)) in v]"
landau_product_preprocess_29: fixes n :: "num" shows "Num.BitM (num.Bit0 n) = num.Bit1 (Num.BitM n)"
coeff_principalTr: fixes t :: "'a"   and n :: "nat" assumes "t \<in> carrier S" shows "\<forall>f. pol_coeff S (n, f) \<and> (\<forall>j\<le>n. f j \<in> S \<diamondsuit>\<^sub>p t) \<longrightarrow> (\<exists>f'. pol_coeff S (n, f') \<and> (\<forall>j\<le>n. f j = t \<cdot>\<^sub>r\<^bsub>S\<^esub> f' j))"
simps: fixes s :: "nat"   and l :: "cell list"   and r :: "cell list" shows "is_final (s, l, r) = (s = 0)"
backward_subsumption_P: fixes D :: "'a literal multiset"   and N :: "'a literal multiset set"   and C :: "'a literal multiset"   and P :: "'a literal multiset set"   and Q :: "'a literal multiset set" assumes "D \<in> N"   and "strictly_subsumes D C" shows "(N, P \<union> {C}, Q) \<leadsto> (N, P, Q)"
take_stake: fixes n :: "nat"   and m :: "nat"   and s :: "'c stream" shows "take n (stake m s) = stake (min n m) s"
fresh_2: fixes a :: "atom"   and exp :: "exp"   and var :: "Vars.var" shows "a \<sharp> App exp var = (a \<sharp> exp \<and> a \<sharp> var)"
Deriv_Union: fixes a :: "'a"   and M :: "'a list set set" shows "Deriv a (\<Union> M) = \<Union> (Deriv a ` M)"
padd_closed: fixes a :: "'a"   and b :: "'a"   and p\<^sub>1 :: "'a \<times> 'a \<times> 'a"   and p\<^sub>2 :: "'a \<times> 'a \<times> 'a" assumes "a \<in> carrier R"   and "b \<in> carrier R"   and "on_curvep a b p\<^sub>1"   and "on_curvep a b p\<^sub>2" shows "on_curvep a b (padd a p\<^sub>1 p\<^sub>2)"
Least_le: fixes less_eq :: "'q \<Rightarrow> 'q \<Rightarrow> bool"   and less :: "'q \<Rightarrow> 'q \<Rightarrow> bool"   and P :: "'q \<Rightarrow> bool"   and k :: "'q" assumes "class.wellorder less_eq less"   and "P k" shows "less_eq (ord.Least less_eq P) k"
shift_bounds_cl_nat_ivl: fixes g :: "nat \<Rightarrow> 'a"   and m :: "nat"   and k :: "nat"   and n :: "nat" shows "prod g {m + k..n + k} = (\<Prod>i = m..n. g (i + k))"
elims: fixes x :: "('d, 'e, 'f, 'g, 'h) qTerm"   and y :: "('d, 'e) tree" assumes "qSkel x = y" obtains xs :: "'f" and x :: "'g" where "xa__ = qVar xs x" and "y = Branch Map.empty Map.empty"   | delta :: "'h" and inp :: "'d \<Rightarrow> ('d, 'e, 'f, 'g, 'h) qTerm option" and binp :: "'e \<Rightarrow> ('d, 'e, 'f, 'g, 'h) qAbs option" where "xa__ = qOp delta inp binp" and "y = Branch (lift qSkel inp) (lift qSkelAbs binp)"
\<Delta>\<Phi>_pass1_sum_ub: fixes hs :: "'b heap list" assumes "no_Emptys hs" shows "\<Phi>_hps (pass\<^sub>1 hs) - \<Phi>_hps hs \<le> sum_ub hs"
fps_conv_radius_diff: fixes f :: "'a fps"   and g :: "'a fps" shows "min (fps_conv_radius f) (fps_conv_radius g) \<le> fps_conv_radius (f - g)"
lappend_eq_lappend_conv: fixes xs :: "'a llist"   and us :: "'a llist"   and ys :: "'a llist"   and vs :: "'a llist" assumes "llength xs = llength us" shows "(lappend xs ys = lappend us vs) = (xs = us \<and> (lfinite xs \<longrightarrow> ys = vs))"
diag_1: shows "{} \<turnstile> \<delta> IFF Neg (PfP \<guillemotleft>\<delta>\<guillemotright>)"
finite_Union: fixes A :: "'c set set" assumes "finite A"   and "\<And>M. M \<in> A \<Longrightarrow> finite M" shows "finite (\<Union> A)"
splits_at_implies_Derives1: fixes \<delta> :: "symbol list"   and i :: "nat"   and \<alpha> :: "symbol list"   and N :: "symbol"   and \<beta> :: "symbol list"   and r :: "symbol \<times> symbol list" assumes "splits_at \<delta> i \<alpha> N \<beta>"   and "is_sentence \<delta>"   and "r \<in> \<RR>"   and "fst r = N" shows "Derives1 \<delta> i r (\<alpha> @ snd r @ \<beta>)"
double_zero_sym: fixes plus :: "'a \<Rightarrow> 'a \<Rightarrow> 'a"   and zero :: "'a"   and minus :: "'a \<Rightarrow> 'a \<Rightarrow> 'a"   and uminus :: "'a \<Rightarrow> 'a"   and less_eq :: "'a \<Rightarrow> 'a \<Rightarrow> bool"   and less :: "'a \<Rightarrow> 'a \<Rightarrow> bool"   and a :: "'a" assumes "class.linordered_ab_group_add plus zero minus uminus less_eq less" shows "(zero = plus a a) = (a = zero)"
assms_1: shows "DIM('M) \<le> DIM('N)"
type_less_eq_x_OrderedSet_intro: fixes \<tau> :: "'a OCL_Types.type"   and \<rho> :: "'a OCL_Types.type"   and \<sigma> :: "'a OCL_Types.type" assumes "\<tau> = OrderedSet \<rho>"   and "\<rho> \<le> \<sigma>" shows "\<tau> \<le> OrderedSet \<sigma>"
simps_3: fixes x11 :: "nat"   and x12 :: "nat"   and x21 :: "nat"   and x22 :: "nat" shows "picks x11 x12 \<noteq> putsdown x21 x22"
HF_axioms_def: shows "HF_axioms = {HF1, HF2}"
Join_assoc: fixes F :: "'c program"   and G :: "'c program"   and H :: "'c program" shows "F \<squnion> G \<squnion> H = F \<squnion> (G \<squnion> H)"
vars1'_def: shows "st2.vars1' = ind_in_set st2.vars0 ` {0..<Suc k}"
pcr_Domainp: fixes B :: "'a \<Rightarrow> 'b \<Rightarrow> bool"   and P :: "'a \<Rightarrow> bool"   and A :: "'c \<Rightarrow> 'a \<Rightarrow> bool" assumes "Domainp B = P" shows "Domainp (A OO B) = (\<lambda>x. \<exists>y. A x y \<and> P y)"
sublist_def: fixes A :: "'a list"   and B :: "'a list" shows "sublist A B \<equiv> \<forall>x. List.member A x \<longrightarrow> List.member B x"
cfcomp1: fixes f :: "'f \<rightarrow> 'e"   and g :: "'d \<rightarrow> 'f" shows "f oo g = (\<Lambda> x. f\<cdot>(g\<cdot>x))"
c_merge_pairs: fixes xss :: "'a list list" shows "local.c_merge_pairs xss \<le> length (concat xss)"
algebraic_altdef_ipoly: fixes x :: "'b" shows "algebraic x = (\<exists>p. ipoly p x = (0::'b) \<and> p \<noteq> 0)"
decompose_def: fixes s :: "('c, 'd) Term.term"   and t :: "('c, 'e) Term.term" shows "decompose s t = (case (s, t) of (Var x, b) \<Rightarrow> Map.empty x | (Fun f ss, Var x) \<Rightarrow> Map.empty x | (Fun f ss, Fun g ts) \<Rightarrow> if f = g then zip_option ss ts else None)"
prefix_distinct: fixes xs :: "'evt list"   and i :: "nat" assumes "xs prefix of i" shows "distinct xs"
directional_derivative_def: fixes I :: "('b, 'c, 'a) interp"   and t :: "('b, 'a) trm" shows "directional_derivative I t = (\<lambda>v. frechet I t (fst v) (snd v))"
set_of_appr_ex_append2: fixes xrs :: "real list"   and xs :: "'b list"   and b :: "'b list" assumes "xrs \<in> set_of_appr xs" shows "\<exists>r. xrs @ r \<in> set_of_appr (xs @ b)"
span_eq_dim: fixes S :: "'b set"   and T :: "'b set" assumes "span S = span T" shows "dim S = dim T"
nrename_OrL: fixes R :: "trm"   and u :: "name"   and v :: "name"   and x :: "name"   and M :: "trm"   and y :: "name"   and N :: "trm"   and z :: "name" assumes "R[u\<turnstile>n>v] = OrL x.M y.N z"   and "x \<sharp> (y, z, u, v, N, R)"   and "y \<sharp> (x, z, u, v, M, R)"   and "z \<sharp> (u, v)" shows "\<exists>M' N'. R = OrL x.M' y.N' z \<and> M'[u\<turnstile>n>v] = M \<and> N'[u\<turnstile>n>v] = N \<and> x \<sharp> N' \<and> y \<sharp> M'"
rel_T_neg_distr_cond_def: fixes Co1 :: "'n \<Rightarrow> 'o \<Rightarrow> bool"   and Co1' :: "'o \<Rightarrow> 'p \<Rightarrow> bool"   and Co2 :: "'q \<Rightarrow> 'r \<Rightarrow> bool"   and Co2' :: "'r \<Rightarrow> 's \<Rightarrow> bool"   and Contra1 :: "'t \<Rightarrow> 'u \<Rightarrow> bool"   and Contra1' :: "'u \<Rightarrow> 'v \<Rightarrow> bool"   and Contra2 :: "'w \<Rightarrow> 'x \<Rightarrow> bool"   and Contra2' :: "'x \<Rightarrow> 'y \<Rightarrow> bool"   and uu :: "('z \<times> 'aa \<times> 'ab \<times> 'ac) itself" shows "rel_T_neg_distr_cond Co1 Co1' Co2 Co2' Contra1 Contra1' Contra2 Contra2' uu = (\<forall>L1 L1'. rel_T (L1 OO L1') (Co1 OO Co1') (Co2 OO Co2') (Contra1 OO Contra1') (Contra2 OO Contra2') \<le> rel_T L1 Co1 Co2 Contra1 Contra2 OO rel_T L1' Co1' Co2' Contra1' Contra2')"
X_def_3: shows "f (card X - 1) = Q\<^sub>z"
finished_closed: shows "E `` dom (finished s) \<subseteq> dom (discovered s)"
row_echelon_form_zero_rows: fixes A :: "'b mat" assumes "row_echelon_form A"   and "dim_row A \<le> dim_col A" shows "take_rows A [0..<length (pivot_positions A)] @\<^sub>r 0\<^sub>m (dim_row A - length (pivot_positions A)) (dim_col A) = A"
rep1: shows "[t1]<>v \<equiv>\<^sub>P r1"
eq_Min_iff: fixes A :: "'c DBMEntry set"   and m :: "'c DBMEntry" assumes "finite A"   and "A \<noteq> {}" shows "(m = linordered_monoid.Min A) = (m \<in> A \<and> (\<forall>a\<in>A. m \<preceq> a))"
elims_3: fixes proper_interval :: "'a option \<Rightarrow> 'a option \<Rightarrow> bool"   and x :: "'a list" assumes "\<not> proper_intrvl.exhaustive proper_interval x" obtains "x = []"   | xa :: "'a" and xs :: "'a list" where "x = xa # xs" and "\<not> (\<not> proper_interval None (Some xa) \<and> proper_intrvl.exhaustive_above proper_interval xa xs)"
LIM_D: fixes f :: "'c \<Rightarrow> 'd"   and L :: "'d"   and a :: "'c"   and r :: "real" assumes "f \<midarrow>a\<rightarrow> L"   and "0 < r" shows "\<exists>s>0. \<forall>x. x \<noteq> a \<and> norm (x - a) < s \<longrightarrow> norm (f x - L) < r"
mult_semi_associative: fixes x :: "'a"   and y :: "'a"   and z :: "'a" shows "x \<sqinter> y \<sqinter> z \<le> x \<sqinter> (y \<sqinter> z)"
minus_numeral: fixes x :: "'a"   and n :: "num" shows "f (x - numeral n) = f x"
rep_eq: fixes q :: "real"   and x :: "fbint"   and xa :: "fbint" assumes "fbnorm q" shows "fbnorm.dist q x xa = fbnorm.N q (int_of_fbint x - int_of_fbint xa)"
subgroup_imp_normal: fixes G :: "('b, 'c) monoid_scheme"   and A :: "'b set" assumes "comm_group G"   and "subgroup A G" shows "A \<lhd> G"
Q_def: shows "Q = (\<lambda>(x, y). P y \<and> (\<forall>y'\<in>{0<..<y}. \<not> P y') \<and> x = Discrete.sqrt (y\<^sup>2 * D + 1))"
InvCompIso: fixes f :: "'b" assumes "ciso f" shows "Cinv f \<approx>> f"
lm02: fixes X :: "'c set" shows "trivial X = (X = {} \<or> card X = 1)"
pentagon: fixes f :: "'a arrow_of_spans_data"   and g :: "'a arrow_of_spans_data"   and h :: "'a arrow_of_spans_data"   and k :: "'a arrow_of_spans_data" assumes "ide f"   and "ide g"   and "ide h"   and "ide k"   and "src f = trg g"   and "src g = trg h"   and "src h = trg k" shows "(f \<star> \<a>[fst (g, h, k), fst (snd (g, h, k)), snd (snd (g, h, k))]) \<bullet> \<a>[fst (f, g \<star> h, k), fst (snd (f, g \<star> h, k)), snd (snd (f, g \<star> h, k))] \<bullet> (\<a>[fst (f, g, h), fst (snd (f, g, h)), snd (snd (f, g, h))] \<star> k) = \<a>[fst (f, g, h \<star> k), fst (snd (f, g, h \<star> k)), snd (snd (f, g, h \<star> k))] \<bullet> \<a>[fst (f \<star> g, h, k), fst (snd (f \<star> g, h, k)), snd (snd (f \<star> g, h, k))]"
lselect_lnull: fixes w :: "'b llist"   and s :: "nat set" shows "lnull (lselect s w) = (\<forall>i\<in>s. llength w \<le> enat i)"
commutes_with_composition: fixes x :: "'a set"   and y :: "'a set" assumes "x \<in> kernel.additive.Partition"   and "y \<in> kernel.additive.Partition" shows "image.additive.induced (x [\<cdot>] y) = image.additive.induced x \<cdot>' image.additive.induced y"
dvd_lcm1: fixes one :: "'a"   and zero :: "'a"   and times :: "'a \<Rightarrow> 'a \<Rightarrow> 'a"   and gcd :: "'a \<Rightarrow> 'a \<Rightarrow> 'a"   and lcm :: "'a \<Rightarrow> 'a \<Rightarrow> 'a"   and divide :: "'a \<Rightarrow> 'a \<Rightarrow> 'a"   and plus :: "'a \<Rightarrow> 'a \<Rightarrow> 'a"   and minus :: "'a \<Rightarrow> 'a \<Rightarrow> 'a"   and unit_factor :: "'a \<Rightarrow> 'a"   and normalize :: "'a \<Rightarrow> 'a"   and a :: "'a"   and b :: "'a" assumes "class.semiring_gcd one zero times gcd lcm divide plus minus unit_factor normalize" shows "dvd.dvd times a (lcm a b)"
cases: fixes a1 :: "('l, 't) locks \<times> (('t \<Rightarrow> ('x \<times> 'l \<Rightarrow>f nat) option) \<times> 'm) \<times> ('t \<Rightarrow> 'w wait_set_status option) \<times> 't set"   and a2 :: "'t \<times> ('l, 't, 'x, 'm, 'w, 'o) thread_action"   and a3 :: "('l, 't) locks \<times> (('t \<Rightarrow> ('x \<times> 'l \<Rightarrow>f nat) option) \<times> 'm) \<times> ('t \<Rightarrow> 'w wait_set_status option) \<times> 't set" assumes "redT a1 a2 a3" obtains t :: "'t" and x :: "'x" and s :: "('l, 't) locks \<times> (('t \<Rightarrow> ('x \<times> 'l \<Rightarrow>f nat) option) \<times> 'm) \<times> ('t \<Rightarrow> 'w wait_set_status option) \<times> 't set" and ta :: "('l, 't, 'x, 'm, 'w, 'o) thread_action" and x' :: "'x" and m' :: "'m" and s' :: "('l, 't) locks \<times> (('t \<Rightarrow> ('x \<times> 'l \<Rightarrow>f nat) option) \<times> 'm) \<times> ('t \<Rightarrow> 'w wait_set_status option) \<times> 't set" where "a1 = sb__" and "a2 = (ta__, ta)" and "a3 = s'a__" and "ta__ \<turnstile> \<langle>xa__, shr sb__\<rangle> -ta\<rightarrow> \<langle>x', m'\<rangle>" and "thr sb__ ta__ = \<lfloor>(xa__, no_wait_locks)\<rfloor>" and "actions_ok sb__ ta__ ta" and "redT_upd sb__ ta__ ta x' m' s'a__"   | s :: "('l, 't) locks \<times> (('t \<Rightarrow> ('x \<times> 'l \<Rightarrow>f nat) option) \<times> 'm) \<times> ('t \<Rightarrow> 'w wait_set_status option) \<times> 't set" and t :: "'t" and x :: "'x" and n :: "'l" and s' :: "('l, 't) locks \<times> (('t \<Rightarrow> ('x \<times> 'l \<Rightarrow>f nat) option) \<times> 'm) \<times> ('t \<Rightarrow> 'w wait_set_status option) \<times> 't set" and ln :: "'l \<Rightarrow>f nat" where "a1 = s" and "a2 = (t, K$ [], [], [], [], [], convert_RA ln)" and "a3 = s'" and "thr s t = \<lfloor>(x, ln)\<rfloor>" and "\<not> waiting (wset s t)" and "may_acquire_all (locks s) t ln" and "0 < ln $ n" and "s' = (acquire_all (locks s) t ln, (thr s(t \<mapsto> (x, no_wait_locks)), shr s), wset s, interrupts s)"
ell2_norm_point_bound: fixes x :: "'c \<Rightarrow> complex"   and i :: "'c" assumes "has_ell2_norm x" shows "cmod (x i) \<le> ell2_norm x"
of_real_0: shows "of_real 0 = (0::'c)"
find_indices_Cons: fixes x :: "'e"   and y :: "'e"   and ys :: "'e list" shows "find_indices x (y # ys) = (if x = y then (#) 0 else id) (map Suc (find_indices x ys))"
conv_radius_cmult_right: fixes c :: "'a"   and f :: "nat \<Rightarrow> 'a" assumes "c \<noteq> (0::'a)" shows "conv_radius (\<lambda>n. f n * c) = conv_radius f"
mset_eq_setD: fixes xs :: "'k list"   and ys :: "'k list" assumes "mset xs = mset ys" shows "set xs = set ys"
lift_get_return_edgesI: fixes e :: "'g LDCFG_node \<times> ('h, 'i, 'j, 'k) edge_kind \<times> 'g LDCFG_node"   and src :: "'l \<Rightarrow> 'g"   and a :: "'l"   and knd :: "'l \<Rightarrow> ('h, 'i, 'j, 'k) edge_kind"   and trg :: "'l \<Rightarrow> 'g"   and valid_edge :: "'l \<Rightarrow> bool"   and a' :: "'l"   and get_return_edges :: "'l \<Rightarrow> 'l set"   and e' :: "'g LDCFG_node \<times> ('h, 'i, 'j, 'k) edge_kind \<times> 'g LDCFG_node" assumes "e = (Node (src a), knd a, Node (trg a))"   and "valid_edge a"   and "a' \<in> get_return_edges a"   and "e' = (Node (src a'), knd a', Node (trg a'))" shows "e' \<in> lift_get_return_edges get_return_edges valid_edge src trg knd e"
cod_char: fixes f :: "'a1 \<times> 'a2" shows "cod f = (if C1.arr (fst f) \<and> C2.arr (snd f) then (C1.cod (fst f), C2.cod (snd f)) else (C1.null, C2.null))"
VPG_MSTn_Gn: fixes G :: "((Class \<times> Method \<times> int) \<times> ((Var \<times> Val) list \<times> (Addr \<times> Class \<times> (Field \<times> Val) list) list \<Rightarrow> Val list \<times> (Var \<times> Val) list \<times> (Addr \<times> Class \<times> (Field \<times> Val) list) list \<Rightarrow> bool) \<times> ((Var \<times> Val) list \<times> (Addr \<times> Class \<times> (Field \<times> Val) list) list \<Rightarrow> Val list \<times> (Var \<times> Val) list \<times> (Addr \<times> Class \<times> (Field \<times> Val) list) list \<Rightarrow> (Addr \<times> Class \<times> (Field \<times> Val) list) list \<times> Val \<Rightarrow> bool) \<times> ((Var \<times> Val) list \<times> (Addr \<times> Class \<times> (Field \<times> Val) list) list \<Rightarrow> Val list \<times> (Var \<times> Val) list \<times> (Addr \<times> Class \<times> (Field \<times> Val) list) list \<Rightarrow> (Addr \<times> Class \<times> (Field \<times> Val) list) list \<Rightarrow> bool)) list"   and k :: "nat" assumes "VP_G G"   and "MST_validn k" shows "G_validn k G"
simps_12: fixes C :: "char list"   and M :: "char list"   and es :: "'a exp list" shows "sub_RI (C\<bullet>\<^sub>sM(es)) = (M = clinit \<or> sub_RIs es)"
Join_least: fixes A :: "'b set"   and x :: "'b" assumes "\<And>a. a \<in> A \<Longrightarrow> a \<sqsubseteq> x" shows "\<Squnion>A \<sqsubseteq> x"
mat1b: fixes env :: "v sem_env"   and s1 :: "'c state"   and e :: "exp0"   and s2 :: "'c state"   and v1 :: "v"   and pes :: "(pat \<times> exp0) list"   and err :: "v error_result" assumes "Big_Step_Unclocked.evaluate env s1 e (s2, Rval v1)"   and "match_result env s2 v1 pes Bindv = Rerr err" shows "Big_Step_Unclocked.evaluate env s1 (Mat e pes) (s2, Rerr err)"
d: fixes u :: "'a mod_ring poly" assumes "u \<in> set us" shows "0 < degree u"
external_WT'_iff: fixes typeof_addr :: "'a \<Rightarrow> 'b \<Rightarrow> htype option"   and P :: "'c prog"   and h :: "'a"   and a :: "'b"   and M :: "String.literal"   and vs :: "'b val list"   and U :: "ty" shows "heap_base.external_WT' typeof_addr P h a M vs U = (\<exists>hT Ts Ts' D. typeof_addr h a = \<lfloor>hT\<rfloor> \<and> map (heap_base.typeof_h typeof_addr h) vs = map Some Ts \<and> P \<turnstile> class_type_of hT sees M: Ts'\<rightarrow>U = Native in D \<and> P \<turnstile> Ts [\<le>] Ts')"
abs_eq: fixes xb :: "'a mpoly"   and xa :: "nat"   and x :: "nat" shows "isolate_variable_sparse xb xa x = MPoly (\<Sum>m | m \<in> monomials xb \<and> lookup m xa = x. monomial (MPoly_Type.coeff xb m) (Poly_Mapping.update xa 0 m))"
assms: shows "(p, p') \<in> fully_unsorted_poly_rel O mset_poly_rel"
C: shows "C = (\<lambda>l. {ps. length ps = l + 1 \<and> adj_path (hd ps) (tl ps) \<and> adjacent (last ps) (hd ps)})"
agree_on_def: fixes G :: "('a, 'b) labeled_graph"   and f\<^sub>1 :: "('b \<times> 'c) set"   and f\<^sub>2 :: "('b \<times> 'c) set" shows "agree_on G f\<^sub>1 f\<^sub>2 \<equiv> \<forall>v\<in>vertices G. f\<^sub>1 `` {v} = f\<^sub>2 `` {v}"
node_state_rel_simps_1: fixes i :: "int" shows "((i, DONE) \<in> node_state_rel) = (i = - 1)"
lang_def: shows "local.igba.lang \<equiv> Collect local.igba.accept"