hcju/isabelleps huggingface dataset:
diff_iff: fixes f :: "'a \<Rightarrow> 'b" shows "diff l charts1 charts2 f = (\<forall>x\<in>src.carrier. \<exists>c1\<in>l.src.atlas. \<exists>c2\<in>l.dest.atlas. x \<in> domain c1 \<and> f ` domain c1 \<subseteq> domain c2 \<and> l-smooth_on (codomain c1) (apply_chart c2 \<circ> f \<circ> inv_chart c1))"
max2_greater_among: fixes a :: "'b"   and b :: "'b" assumes "a \<in> Field s"   and "b \<in> Field s" shows "(a, s.max2 a b) \<in> s \<and> (b, s.max2 a b) \<in> s \<and> s.max2 a b \<in> {a, b}"
mkArr_restrict_eq': fixes S :: "'b \<Rightarrow> 'b \<Rightarrow> 'b"   and img :: "'b \<Rightarrow> 'b"   and \<AA> :: "('c \<times> 'c) set"   and A :: "'b set"   and B :: "'b set"   and F :: "'b \<Rightarrow> 'b" assumes "set_category_given_img S img \<AA>"   and "partial_magma.arr S (set_category_given_img.mkArr S img \<AA> A B (restrict F A))" shows "set_category_given_img.mkArr S img \<AA> A B (restrict F A) = set_category_given_img.mkArr S img \<AA> A B F"
Inf_prod_def: fixes X :: "('c \<times> 'd) set" shows "Inf_prod X = (\<Sqinter> (fst ` X), \<Sqinter> (snd ` X))"
simps_2: fixes OPERATION :: "'b \<Rightarrow> 'b \<Rightarrow> 'b"   and N :: "'b"   and x :: "'b" shows "rexp_of_list OPERATION N [x] = x"
lossless_S2: fixes \<sigma> :: "bool"   and b\<^sub>\<sigma> :: "bool" shows "lossless_spmf (S2 \<sigma> b\<^sub>\<sigma>)"
a1: shows "j < length a \<and> is_word (take j a) \<and> is_nonterminal (a ! j)"
1: fixes PROB :: "(('a, bool) fmap \<times> ('a, bool) fmap) set"   and s :: "('a, bool) fmap"   and as :: "(('a, bool) fmap \<times> ('a, bool) fmap) list" assumes "P PROB"   and "s \<in> valid_states PROB"   and "as \<in> valid_plans PROB"   and "\<exists>as'. exec_plan s as = exec_plan s as' \<and> subseq as' as \<and> length as' < f PROB" shows "\<exists>x. x \<in> PLS s as \<and> x < f PROB"
rep_eq: fixes x :: "\<Pi>\<^sub>2" shows "d\<^sub>2 x = Some (eval\<Pi>\<^sub>2 x)"
map2_val_pair_ko_ntm_def: fixes ko :: "'a nat_term_order" shows "map2_val_pair_ko_ntm ko \<equiv> comparator.map2_val_pair (nat_term_compare_inv ko)"
ex_W_cmpserTr3m1: fixes m :: "nat"   and f :: "nat \<Rightarrow> 'a set"   and g :: "nat \<Rightarrow> 'a set" assumes "tw_cmpser G m f"   and "W_cmpser G (card (f ` {i. i \<le> m}) - 1) g"   and "g ` {i. i \<le> card (f ` {i. i \<le> m}) - 1} = f ` {i. i \<le> m}" shows "tW_cmpser G (card (f ` {i. i \<le> m}) - 1) g"
zeta_remove_zero: fixes s :: "complex" assumes "1 \<le> Re s" shows "(s - 1) * pre_zeta 1 s + 1 \<noteq> 0"
distinct_15: fixes x3 :: "int" shows "Intg x3 \<noteq> Null"
differentiable_on_eq_differentiable_at: fixes s :: "'a set"   and f :: "'a \<Rightarrow> 'b" assumes "open s" shows "(f differentiable_on s) = (\<forall>x\<in>s. f differentiable at x)"
ext_inject: fixes Pol :: "('c \<times> 'c) set"   and Map :: "'b \<Rightarrow> 'c"   and Doms :: "'c set"   and List :: "'b list"   and ListOp :: "'b list option"   and Set :: "'b set"   and more :: "'d"   and Pol' :: "('c \<times> 'c) set"   and Map' :: "'b \<Rightarrow> 'c"   and Doms' :: "'c set"   and List' :: "'b list"   and ListOp' :: "'b list option"   and Set' :: "'b set"   and more' :: "'d" shows "(\<lparr>Pol = Pol, Map = Map, Doms = Doms, List = List, ListOp = ListOp, Set = Set, \<dots> = more\<rparr> = \<lparr>Pol = Pol', Map = Map', Doms = Doms', List = List', ListOp = ListOp', Set = Set', \<dots> = more'\<rparr>) = (Pol = Pol' \<and> Map = Map' \<and> Doms = Doms' \<and> List = List' \<and> ListOp = ListOp' \<and> Set = Set' \<and> more = more')"
strong_consensus_cluster_imp_cons_cluster: fixes I :: "'node set" assumes "strong_consensus_cluster I" shows "is_cons_cluster I"
intro: fixes C :: "'a \<Rightarrow> 'a \<Rightarrow> 'a"   and f0 :: "'a"   and f1 :: "'a" assumes "category C"   and "cospan_diagram_axioms C f0 f1" shows "cospan_diagram C f0 f1"
assoc: fixes a :: "'c"   and b :: "'c"   and c :: "'c" shows "a + b + c = a + (b + c)"
indep_var_def: fixes Ma :: "'c measure"   and A :: "'a \<Rightarrow> 'c"   and Mb :: "'c measure"   and B :: "'a \<Rightarrow> 'c" shows "indep_var Ma A Mb B = indep_vars (case_bool Ma Mb) (case_bool A B) UNIV"
epsclo_UN: fixes M :: "'b nfa"   and B :: "'c \<Rightarrow> hf set"   and A :: "'c set" assumes "nfa M" shows "nfa.epsclo M (\<Union> (B ` A)) = (\<Union>x\<in>A. nfa.epsclo M (B x))"
prob3: shows "(prob = 0) = (A \<inter> set_pmf p = {})"
preservation: shows "rel_preserves_binary_pred (indRelRSTPO SRel TRel) (\<lambda>a. hasBarb a (STCalWB SWB TWB))"
sset_range: fixes s :: "'a stream" shows "i.R s = range ((!!) s)"
span_base: fixes a :: "'c"   and S :: "'c set" assumes "a \<in> S" shows "a \<in> cspan S"
fpxs_nth_shift: fixes r :: "rat"   and f :: "'b fpxs"   and n :: "rat" shows "fpxs_nth (fpxs_shift r f) n = fpxs_nth f (n + r)"
mproj: fixes M1 :: "('e, 'a, 'f) Module_scheme"   and M2 :: "('e, 'a, 'f) Module_scheme"   and M :: "('e, 'a, 'f) Module_scheme" assumes "R module M1"   and "R module M2"   and "R module M"   and "M1 \<Oplus>\<^bsub>R,M\<^esub> M2" shows "mproj1 R M1 M2 M \<in> mHom R M M1"
FAddSA_OneAncestor: fixes G :: "'d \<Rightarrow> ('d, 'e, 'f) seqauto set option"   and F :: "('d, 'e, 'f) seqauto set"   and SA :: "('d, 'e, 'f) seqauto"   and S :: "'d" assumes "\<Union> (ran G) = F - {Root F G}"   and "dom G \<inter> States SA = {}"   and "S \<in> dom G"   and "\<Union> (States ` F) = dom G"   and "RootEx F G"   and "OneAncestor F G" shows "OneAncestor (insert SA F) (G [f+] (S, SA))"
FreeGroupD: fixes x :: "'a freeword"   and S :: "'a set" assumes "x \<in> FreeGroup S" shows "order.greater_eq S (fst ` set (freeword x))"
lemSpace2Sym: fixes x :: "'a Point"   and y :: "'a Point" shows "space2 x y = space2 y x"
rad_of_monoI: fixes x :: "real"   and y :: "real" assumes "x \<le> y" shows "rad_of x \<le> rad_of y"
Ds: fixes x :: "'a" shows "(s has_derivative blinfun_apply (Ds x)) (at x)"
simps_8: fixes \<gamma> :: "'c \<Rightarrow> 'd \<Rightarrow> bool"   and p :: "'d"   and v :: "'c match_expr"   and rs :: "'c rule list" shows "no_matching_Goto \<gamma> p (Rule v Return # rs) = no_matching_Goto \<gamma> p rs"
intro: fixes G :: "('c, 'd) pre_digraph"   and arev :: "'d \<Rightarrow> 'd" assumes "wf_digraph G"   and "bidirected_digraph_axioms G arev" shows "bidirected_digraph G arev"
node_def: fixes l :: "('b \<times> nat) tree"   and a :: "'b"   and r :: "('b \<times> nat) tree" shows "node l a r = \<langle>l, (a, max (ht l) (ht r) + 1), r\<rangle>"
mod_eq_dvd_iff_nat: fixes n :: "nat"   and m :: "nat"   and q :: "nat" assumes "n \<le> m" shows "(m mod q = n mod q) = (q dvd m - n)"
valid: shows "\<forall>M g w. M, g, w \<Turnstile> p"
rPar2: fixes \<Psi>\<^sub>P :: "'b"   and Q' :: "('a, 'b, 'c) psi"   and A\<^sub>P :: "name list" assumes "\<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'"   and "extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>"   and "distinct A\<^sub>P"   and "A\<^sub>P \<sharp>* \<Psi>"   and "A\<^sub>P \<sharp>* P"   and "A\<^sub>P \<sharp>* Q"   and "A\<^sub>P \<sharp>* \<alpha>"   and "A\<^sub>P \<sharp>* Q'"   and "A\<^sub>P \<sharp>* C" shows "Prop \<alpha> (P \<parallel> Q')"
g2: shows "L\<lbrakk>Vx : A \<turnstile> d : B\<rbrakk>\<^bsub>CI T\<^esub> \<rightarrow> IMor g"
as_3: shows "\<forall>x\<in>convex hull S. x \<notin> S \<longrightarrow> (\<exists>y\<in>convex hull S. norm (x - a) < norm (y - a))"
V'': shows "V - {x, y} = V - {y} - {x}"
y: fixes x :: "'a" assumes "x \<in> set xs" shows "(x, y x) \<in> R"
mon_conv_set_def: fixes A :: "nat \<Rightarrow> 'b set"   and B :: "'b set" shows "A\<up>B \<equiv> (\<forall>n. A n \<subseteq> A (Suc n)) \<and> B = \<Union> (range A)"
intro: fixes A :: "('a, 'b, 'c) sa_rec_scheme"   and B :: "('d, 'b, 'e) sa_rec_scheme"   and R :: "('a \<times> 'd) set" assumes "sa A"   and "sa B"   and "simulation R A B"   and "lsimulation_axioms R A B" shows "lsimulation R A B"
trivial_homomorphism_def: fixes G :: "('b, 'c) monoid_scheme"   and H :: "('d, 'e) monoid_scheme"   and f :: "'b \<Rightarrow> 'd" shows "trivial_homomorphism G H f \<equiv> f \<in> hom G H \<and> (\<forall>x\<in>carrier G. f x = \<one>\<^bsub>H\<^esub>)"
finite_config_TS: fixes h :: "nat list"   and init :: "nat list"   and n :: "nat"   and qs :: "nat list" shows "finite (set_pmf (Partial_Cost_Model.config'_rand (Partial_Cost_Model.embed (rTS h)) (fst (Partial_Cost_Model.embed (rTS h)) init \<bind> (\<lambda>is. return_pmf (init, is))) (take n qs)))"
shconf_def: fixes P :: "'a prog"   and h :: "heap"   and sh :: "sheap" shows "P,h \<turnstile>\<^sub>s sh \<surd> \<equiv> \<forall>C sfs i. sh C = \<lfloor>(sfs, i)\<rfloor> \<longrightarrow> P,h,C \<turnstile>\<^sub>s sfs \<surd>"
measure_loop_def: shows "measure_loop = measures [loop_stage, loop_state, loop_step]"
awalkE': fixes G :: "('c, 'd) pre_digraph"   and u :: "'c"   and p :: "'d list"   and v :: "'c" assumes "wf_digraph G"   and "pre_digraph.awalk G u p v" obtains "set (pre_digraph.awalk_verts G u p) \<subseteq> verts G" and "set p \<subseteq> arcs G" and "pre_digraph.cas G u p v" and "hd (pre_digraph.awalk_verts G u p) = u" and "last (pre_digraph.awalk_verts G u p) = v" and "u \<in> verts G" and "v \<in> verts G"
deg: fixes g :: "int poly" assumes "\<bar>lead_coeff g\<bar> < int CARD('a)" shows "degree (of_int_poly g) = degree g"
antisym: fixes y :: "'a"   and x :: "'a" assumes "y \<le> x"   and "x \<le> y" shows "x = y"
roots_inclI': fixes p :: "'a list list"   and m :: "'a list multiset" assumes "p \<in> carrier (poly_ring (poly_ring R))"   and "\<And>a. \<lbrakk>a \<in> carrier (poly_ring R); p \<noteq> []\<rbrakk> \<Longrightarrow> UP.alg_mult p a \<le> count m a" shows "UP.roots p \<subseteq># m"
step_reflects_SN_on: fixes a :: "'a"   and r :: "('a \<times> 'a) set" assumes "\<And>b. (a, b) \<in> r \<Longrightarrow> SN_on r {b}" shows "SN_on r {a}"
tailR_def: fixes t :: "('a, 'b) FingerTreeStruc" shows "FingerTreeStruc.tailR t = (case FingerTreeStruc.viewR t of Some (x, m) \<Rightarrow> m)"
return_id_def: shows "Monad_Overloading.return = return_id"
inner_add_left: fixes x :: "'a"   and y :: "'a"   and z :: "'a" shows "(x + y) \<bullet> z = x \<bullet> z + y \<bullet> z"
fps_pow_nth_below_subdegree: fixes k :: "nat"   and n :: "nat"   and f :: "'a fps" assumes "k < n * subdegree f" shows "f ^ n $ k = (0::'a)"
Aenc_Nonce: fixes X :: "msg"   and Y :: "msg"   and X' :: "nonce_t" shows "Aenc X Y \<noteq> Nonce X'"
abs_eq: fixes y :: "'a \<Rightarrow> 'b option" shows "Mapping.lookup (mapping.Mapping y) = y"
targets_determine_composability: fixes b :: "'a"   and \<mu> :: "'a"   and \<tau> :: "'a" assumes "b \<in> targets \<mu>" shows "(\<tau> \<star> \<mu> \<noteq> null) = (\<tau> \<star> b \<noteq> null)"
Pred: fixes e :: "String.literal"   and ts :: "Formula.trm list"   and n :: "nat"   and \<sigma> :: "(String.literal \<times> event_data list) trace"   and j :: "nat"   and P :: "String.literal \<Rightarrow> nat option"   and V :: "String.literal \<Rightarrow> (nat \<Rightarrow> event_data list set) option"   and R :: "event_data list set" assumes "\<forall>x\<in>fv (formula.Pred e ts). x < n"   and "\<forall>t\<in>set ts. trm.is_Var t \<or> trm.is_Const t" shows "wf_mformula \<sigma> j P V n R (MPred e ts) (formula.Pred e ts)"
f_def: shows "f \<equiv> \<lambda>ta xa. if xa \<in> FvarsT r then FvarsT ta else {}"
finite_integrable_uvp: fixes pf :: "'c \<Rightarrow> nat \<Rightarrow> 'a \<Rightarrow> real"   and Mkt :: "('a, 'c) discrete_market"   and N :: "'a measure" assumes "\<forall>n. \<forall>asset\<in>support_set pf. finite (prices Mkt asset n ` space M)"   and "\<forall>n. \<forall>asset\<in>support_set pf. finite (pf asset n ` space M)"   and "prob_space N"   and "filt_equiv F M N"   and "trading_strategy pf"   and "\<forall>n. \<forall>asset\<in>support_set pf. random_variable borel (prices Mkt asset n)" shows "\<forall>n. \<forall>asset\<in>support_set pf. integrable N (\<lambda>w. prices Mkt asset (Suc n) w * pf asset (Suc n) w)"
lang\<^sub>W\<^sub>S\<^sub>1\<^sub>S_FOr: fixes n :: "nat"   and \<phi>\<^sub>1 :: "'a formula"   and \<phi>\<^sub>2 :: "'a formula" assumes "wf_formula n (FOr \<phi>\<^sub>1 \<phi>\<^sub>2)" shows "lang\<^sub>W\<^sub>S\<^sub>1\<^sub>S n (FOr \<phi>\<^sub>1 \<phi>\<^sub>2) \<subseteq> (lang\<^sub>W\<^sub>S\<^sub>1\<^sub>S n \<phi>\<^sub>1 \<union> lang\<^sub>W\<^sub>S\<^sub>1\<^sub>S n \<phi>\<^sub>2) \<inter> \<Union> {enc (w, I) |w I. length I = n \<and> wf_interp_for_formula (w, I) (FOr \<phi>\<^sub>1 \<phi>\<^sub>2)}"
index_one_mat_3: fixes n :: "nat" shows "dim_col (1\<^sub>m n) = n"
hpair_iff: fixes a :: "hf"   and b :: "hf"   and a' :: "hf"   and b' :: "hf" shows "(\<langle>a, b\<rangle> = \<langle>a', b'\<rangle>) = (a = a' \<and> b = b')"
cil_\<alpha>n_cons_helper: fixes fg :: "('d, 'b, 'e, 'a, 'f) flowgraph_rec_scheme"   and wb :: "('b, 'c) label list list" shows "mon_pl (map (\<alpha>n fg) wb) = mon_ww fg wb"
is_unit_hom_iff: fixes x :: "'a poly" shows "(poly_lift x dvd 1) = (x dvd 1)"
Fst: fixes x :: "ZF"   and y :: "ZF" shows "Fst (Opair x y) = x"
elims: fixes x :: "nat option"   and y :: "enat" assumes "enat_of_option x = y" obtains "x = None" and "y = \<infinity>"   | n :: "nat" where "x = Some n" and "y = enat n"
axioms_3: fixes J :: "'b \<Rightarrow> 'b \<Rightarrow> 'b"   and C :: "'c \<Rightarrow> 'c \<Rightarrow> 'c"   and D :: "'b \<Rightarrow> 'c"   and a :: "'c"   and \<pi> :: "'b \<Rightarrow> 'c" assumes "product_cone J C D a \<pi>" shows "discrete_diagram J C D"
hom_add: fixes a :: "'a"   and b :: "'a" shows "f (a + b) = f a + f b"
right_total_vimage2p: fixes P :: "'c \<Rightarrow> 'd \<Rightarrow> bool"   and f :: "'e \<Rightarrow> 'c"   and g :: "'f \<Rightarrow> 'd" assumes "right_total P"   and "surj f" shows "right_total (BNF_Def.vimage2p f g P)"
wf_rexp_of_alt': fixes \<Sigma> :: "'b list"   and n :: "nat"   and \<phi> :: "'b formula" assumes "formula \<Sigma>"   and "formula.wf_formula \<Sigma> n \<phi>" shows "alphabet.wf (wf_atom \<Sigma>) n (formula.rexp_of_alt' n \<phi>)"
distinct_1: fixes a :: "'c"   and b' :: "'d" shows "Inl a \<noteq> Inr b'"
Min_insert2: fixes less_eq :: "'c \<Rightarrow> 'c \<Rightarrow> bool"   and less :: "'c \<Rightarrow> 'c \<Rightarrow> bool"   and A :: "'c set"   and a :: "'c" assumes "class.linorder less_eq less"   and "finite A"   and "\<And>b. b \<in> A \<Longrightarrow> less_eq a b" shows "linorder.Min less_eq (insert a A) = a"
IT: shows "SIDE_GEN_ALGO (is_set_to_list Rk Rs1 it1)"
out_distinct: fixes A :: "'p"   and B :: "'p"   and C :: "'p" assumes "A Out B C" shows "B \<noteq> A \<and> C \<noteq> A"
collapse: fixes exesignature :: "exesignature" shows "ExeSignature (execonst_type_of exesignature) (exetyp_arity_of exesignature) (exesorts exesignature) = exesignature"
edka2_def: shows "edka2 \<equiv> let cf = c in while\<^sub>T (\<lambda>(cf, brk). \<not> brk) (\<lambda>(cf, uu_). assert (RGraph c s t cf) \<bind> (\<lambda>_. find_shortest_augmenting_spec_cf cf \<bind> (\<lambda>p. case p of None \<Rightarrow> return (cf, True) | Some p \<Rightarrow> assert (p \<noteq> []) \<bind> (\<lambda>_. assert (Graph.isShortestPath cf s p t) \<bind> (\<lambda>_. let cf = Graph.augment_cf cf (set p) (resCap_cf cf p) in assert (RGraph c s t cf) \<bind> (\<lambda>_. return (cf, False))))))) (cf, False) \<bind> (\<lambda>(cf, uu_). assert (RGraph c s t cf) \<bind> (\<lambda>_. Let (flow_of_cf cf) return))"
round_robin_Some_SomeD: fixes final :: "'a \<Rightarrow> bool"   and r :: "('d, 'b, 'a, 'c, 'e, 'f) semantics"   and convert_RA :: "'d \<Rightarrow>f nat \<Rightarrow> 'f list"   and I :: "(('d, 'b) locks \<times> (('b \<Rightarrow> ('a \<times> 'd \<Rightarrow>f nat) option) \<times> 'c) \<times> ('b \<Rightarrow> 'e wait_set_status option) \<times> 'b set) set"   and n0 :: "nat"   and \<sigma> :: "'b list \<times> nat"   and s :: "('d, 'b) locks \<times> (('b \<Rightarrow> ('a \<times> 'd \<Rightarrow>f nat) option) \<times> 'c) \<times> ('b \<Rightarrow> 'e wait_set_status option) \<times> 'b set"   and t :: "'b"   and ta :: "('d, 'b, 'a, 'c, 'e, 'f) thread_action"   and x' :: "'a"   and m' :: "'c"   and \<sigma>' :: "'b list \<times> nat" assumes "multithreaded_base.deterministic final r convert_RA I"   and "multithreaded_base.round_robin final r convert_RA n0 \<sigma> s = \<lfloor>(t, \<lfloor>(ta, x', m')\<rfloor>, \<sigma>')\<rfloor>"   and "s \<in> I" shows "\<exists>x. thr s t = \<lfloor>(x, no_wait_locks)\<rfloor> \<and> r t (x, shr s) ta (x', m') \<and> final_thread.actions_ok final s t ta"
update_matchP_1: fixes \<sigma> :: "(String.literal \<times> event_data list) trace"   and V :: "String.literal \<Rightarrow> (nat \<Rightarrow> event_data list set) option"   and n :: "nat"   and R :: "event_data list set"   and I :: "\<I>"   and r :: "Formula.formula Regex.regex"   and aux :: "(nat \<times> (mregex, event_data option list set) mapping) list"   and ne :: "nat"   and mr :: "mregex"   and \<phi>s :: "Formula.formula list"   and mrs :: "mregex list"   and rels :: "event_data option list set list"   and rel :: "event_data option list set"   and aux' :: "(nat \<times> (mregex, event_data option list set) mapping) list" assumes "wf_matchP_aux \<sigma> V n R I r aux ne"   and "safe_regex Past Strict r"   and "to_mregex r = (mr, \<phi>s)"   and "mrs = sorted_list_of_set (RPDs mr)"   and "list_all2 (\<lambda>\<phi>. qtable n (fv \<phi>) (mem_restr R) (\<lambda>v. Formula.sat \<sigma> V (map the v) ne \<phi>)) \<phi>s rels"   and "(rel, aux') = update_matchP n I mr mrs rels (\<tau> \<sigma> ne) aux" shows "wf_matchP_aux \<sigma> V n R I r aux' (Suc ne)"
1: shows "FvarsT (rawpsubstT \<chi> txs) = FvarsT \<chi> - snd ` set txs \<union> \<Union> {if x \<in> FvarsT \<chi> then FvarsT t else {} |t x. (t, x) \<in> set txs}"
psi_def: shows "psi = (\<lambda>x. phi x * indicat_real I x)"
uminus_linear_poly_def: fixes lp :: "linear_poly" shows "- lp = - 1 *R lp"
s_Case: fixes \<pi> :: "Syntax.term list"   and e :: "Syntax.term"   and m :: "mode"   and \<pi>' :: "Syntax.term list"   and e' :: "Syntax.term"   and e\<^sub>1 :: "Syntax.term"   and e\<^sub>2 :: "Syntax.term" assumes "\<lless>\<pi>, e\<ggreater> m\<rightarrow> \<lless>\<pi>', e'\<ggreater>" shows "\<lless>\<pi>, Case e e\<^sub>1 e\<^sub>2\<ggreater> m\<rightarrow> \<lless>\<pi>', Case e' e\<^sub>1 e\<^sub>2\<ggreater>"
sorted_repeat_poly_list_rel_with0_wrt_ConsD: fixes ys :: "char list list"   and n :: "int"   and p :: "(char list list \<times> int) list"   and a :: "(char list multiset \<times> int) multiset"   and S :: "char list list \<Rightarrow> char list list \<Rightarrow> bool" assumes "((ys, n) # p, a) \<in> sorted_repeat_poly_list_rel_with0 S" shows "(p, remove1_mset (mset ys, n) a) \<in> sorted_repeat_poly_list_rel_with0 S \<and> (mset ys, n) \<in># a \<and> (\<forall>x\<in>set p. S ys (fst x)) \<and> sorted_wrt var_order ys \<and> distinct ys"
compact_open: fixes S :: "'a set" shows "(compact S \<and> open S) = (S = {})"
if_reg_load_rel: fixes c\<^sub>A :: "(Eg1.var, aexp, bexp) Stmt"   and x :: "Eg1.var"   and c\<^sub>A_then :: "(Eg1.var, aexp, bexp) Stmt"   and c\<^sub>A_else :: "(Eg1.var, aexp, bexp) Stmt"   and c\<^sub>A_tail :: "(Eg1.var, aexp, bexp) Stmt"   and c\<^sub>C :: "(var\<^sub>C, aexp\<^sub>C, bexp\<^sub>C) Stmt"   and c\<^sub>C_then :: "(var\<^sub>C, aexp\<^sub>C, bexp\<^sub>C) Stmt"   and c\<^sub>C_else :: "(var\<^sub>C, aexp\<^sub>C, bexp\<^sub>C) Stmt"   and c\<^sub>C_tail :: "(var\<^sub>C, aexp\<^sub>C, bexp\<^sub>C) Stmt"   and mds\<^sub>A :: "Mode \<Rightarrow> Eg1.var set"   and mds\<^sub>C :: "Mode \<Rightarrow> var\<^sub>C set"   and mem\<^sub>A :: "Eg1.var \<Rightarrow> nat"   and mem\<^sub>C :: "var\<^sub>C \<Rightarrow> nat" assumes "c\<^sub>A = Stmt.If (bexp.Eq x 0) c\<^sub>A_then c\<^sub>A_else ;; c\<^sub>A_tail"   and "c\<^sub>C = (reg\<^sub>C \<leftarrow> aexp\<^sub>C.Load (Eg2_var\<^sub>C_of_Eg1 x)) ;; Stmt.If (bexp\<^sub>C.Eq reg\<^sub>C 0) c\<^sub>C_then c\<^sub>C_else ;; c\<^sub>C_tail"   and "mds\<^sub>A = mds\<^sub>A_of mds\<^sub>C"   and "mem\<^sub>A = mem\<^sub>A_of mem\<^sub>C"   and "\<forall>v\<^sub>C. v\<^sub>C \<notin> range Eg2_var\<^sub>C_of_Eg1 \<longrightarrow> v\<^sub>C \<in> mds\<^sub>C AsmNoReadOrWrite"   and "reg\<^sub>C \<notin> mds\<^sub>C GuarNoReadOrWrite"   and "reg\<^sub>C \<notin> mds\<^sub>C GuarNoWrite"   and "x \<notin> mds\<^sub>A GuarNoReadOrWrite"   and "\<forall>x'. x \<in> \<C>_vars x' \<longrightarrow> x' \<notin> mds\<^sub>A GuarNoReadOrWrite"   and "\<forall>mem\<^sub>A' mem\<^sub>C' mem\<^sub>A'' mem\<^sub>C''. mem\<^sub>A' = mem\<^sub>A_of mem\<^sub>C' \<and> mem\<^sub>A'' = mem\<^sub>A_of mem\<^sub>C'' \<and> mem\<^sub>A'' = mem\<^sub>A' \<and> ev\<^sub>B\<^sub>C mem\<^sub>C' (bexp\<^sub>C.Eq reg\<^sub>C 0) = ev\<^sub>B mem\<^sub>A' (bexp.Eq x 0) \<and> eval_abv\<^sub>C \<langle>c\<^sub>C, mds\<^sub>C, mem\<^sub>C''\<rangle>\<^sub>C \<langle>Stop ;; Stmt.If (bexp\<^sub>C.Eq reg\<^sub>C 0) c\<^sub>C_then c\<^sub>C_else ;; c\<^sub>C_tail, mds\<^sub>C, mem\<^sub>C'\<rangle>\<^sub>C \<longrightarrow> (\<langle>c\<^sub>A, mds\<^sub>A, mem\<^sub>A''\<rangle>\<^sub>A, \<langle>Stop ;; Stmt.If (bexp\<^sub>C.Eq reg\<^sub>C 0) c\<^sub>C_then c\<^sub>C_else ;; c\<^sub>C_tail, mds\<^sub>C, mem\<^sub>C'\<rangle>\<^sub>C) \<in> RelS_Eg1Eg2" shows "(\<langle>c\<^sub>A, mds\<^sub>A, mem\<^sub>A\<rangle>\<^sub>A, \<langle>c\<^sub>C, mds\<^sub>C, mem\<^sub>C\<rangle>\<^sub>C) \<in> RelS_Eg1Eg2"
submonoid_transitive: fixes K :: "'c set"   and N :: "'c set"   and composition :: "'c \<Rightarrow> 'c \<Rightarrow> 'c"   and unit :: "'c"   and M :: "'c set" assumes "submonoid K N composition unit"   and "submonoid N M composition unit" shows "submonoid K M composition unit"
update_by_pair_sorted: fixes xs :: "('a \<times> 'c) list"   and kv :: "'a \<times> 'c" assumes "sorted_wrt lt (map fst xs)" shows "sorted_wrt lt (map fst (update_by_pair kv xs))"
Rxa_def: fixes R :: "('c, 'd) Ring_scheme"   and a :: "'c" shows "R \<diamondsuit>\<^sub>p a = {x. \<exists>r\<in>carrier R. x = r \<cdot>\<^sub>r\<^bsub>R\<^esub> a}"
FORWEAK_wset_WHILE_refine: fixes A :: "('e \<times> 'f) set"   and Xi :: "'e list"   and X :: "'f set"   and di :: "'g nres"   and d :: "'h nres"   and B :: "('g \<times> 'h) set"   and fi :: "'e \<Rightarrow> 'g nres"   and f :: "'f \<Rightarrow> 'h nres"   and ci :: "'g \<Rightarrow> 'g \<Rightarrow> 'g nres"   and c :: "'h \<Rightarrow> 'h \<Rightarrow> 'h nres" assumes "single_valued A"   and "(Xi, X) \<in> \<langle>A\<rangle>list_wset_rel"   and "(di, d) \<in> \<langle>B\<rangle>nres_rel"   and "(fi, f) \<in> A \<rightarrow> \<langle>B\<rangle>nres_rel"   and "(ci, c) \<in> B \<rightarrow> B \<rightarrow> \<langle>B\<rangle>nres_rel" shows "(if Xi = [] then di else RETURN (hd Xi, tl Xi) \<bind> (\<lambda>(x, xa). fi x \<bind> (\<lambda>xb. WHILE (\<lambda>(xd, xe). xe \<noteq> []) (\<lambda>(xd, xe). RETURN (hd xe, tl xe) \<bind> (\<lambda>(xf, xg). fi xf \<bind> (\<lambda>xh. ci xd xh \<bind> (\<lambda>xi. RETURN (xi, xg))))) (xb, xa) \<bind> (\<lambda>(xc, xd). RETURN xc))), FORWEAK X d f c) \<in> \<langle>B\<rangle>nres_rel"
take_bit_of_nat: fixes plus :: "'b \<Rightarrow> 'b \<Rightarrow> 'b"   and minus :: "'b \<Rightarrow> 'b \<Rightarrow> 'b"   and zero :: "'b"   and times :: "'b \<Rightarrow> 'b \<Rightarrow> 'b"   and one :: "'b"   and divide :: "'b \<Rightarrow> 'b \<Rightarrow> 'b"   and modulo :: "'b \<Rightarrow> 'b \<Rightarrow> 'b"   and bit :: "'b \<Rightarrow> nat \<Rightarrow> bool"   and push_bit :: "nat \<Rightarrow> 'b \<Rightarrow> 'b"   and drop_bit :: "nat \<Rightarrow> 'b \<Rightarrow> 'b"   and take_bit :: "nat \<Rightarrow> 'b \<Rightarrow> 'b"   and n :: "nat"   and m :: "nat" assumes "class.semiring_bit_shifts plus minus zero times one divide modulo bit push_bit drop_bit take_bit" shows "take_bit n (semiring_1.of_nat one plus zero m) = semiring_1.of_nat one plus zero (take_bit n m)"
add_left_cancel: fixes plus :: "'b \<Rightarrow> 'b \<Rightarrow> 'b"   and a :: "'b"   and b :: "'b"   and c :: "'b" assumes "class.cancel_semigroup_add plus" shows "(plus a b = plus a c) = (b = c)"
Apps_dB_induct: fixes P :: "dB \<Rightarrow> bool"   and t :: "dB" assumes "\<And>n ts. \<forall>t\<in>set ts. P t \<Longrightarrow> P (Var n \<degree>\<degree> ts)"   and "\<And>u ts. \<lbrakk>P u; \<forall>t\<in>set ts. P t\<rbrakk> \<Longrightarrow> P (Abs u \<degree>\<degree> ts)" shows "P t"