hcju/isabelleps huggingface dataset:
plussub_def: fixes x :: "'c"   and f :: "'c \<Rightarrow> 'd \<Rightarrow> 'b"   and y :: "'d" shows "x \<squnion>\<^bsub>f\<^esub> y = f x y"
assms_11: shows "pathfinish f $ 1 < pathfinish g $ 1"
rep_eq: fixes x :: "'b set_rbt" shows "member x = (\<lambda>xa. xa \<in> dom (rbt_comp_lookup ccomp (mapping_rbt.impl_of x)))"
fSum_eq1: fixes A :: "('d, 'e) aGroup_scheme"   and n :: "nat"   and m :: "nat"   and f :: "nat \<Rightarrow> 'd"   and g :: "nat \<Rightarrow> 'd" assumes "aGroup A"   and "n \<le> m"   and "\<forall>j\<in>nset n m. f j \<in> carrier A"   and "\<forall>j\<in>nset n m. g j \<in> carrier A"   and "\<forall>j\<in>nset n m. f j = g j" shows "\<Sigma>\<^sub>f A f n m = \<Sigma>\<^sub>f A g n m"
fterm_of_hterm_hterm_of_fterm: fixes t :: "fterm" assumes "ground\<^sub>t t" shows "fterm_of_hterm (hterm_of_fterm t) = t"
assms: shows "bvars\<^sub>s\<^sub>t S \<inter> (subst_domain \<delta> \<union> range_vars \<delta>) = {}"
simps_1: fixes \<mu> :: "'a" shows "Cod \<^bold>\<langle>\<mu>\<^bold>\<rangle>\<^sub>0 = \<^bold>\<langle>\<mu>\<^bold>\<rangle>\<^sub>0"
atLeastatMost_empty: fixes b :: "'a"   and a :: "'a" assumes "b \<sqsubseteq> a \<and> b \<noteq> a" shows "ord.atLeastAtMost (\<sqsubseteq>) a b = {}"
INT_iff: fixes b :: "'a"   and B :: "'b \<Rightarrow> 'a set"   and A :: "'b set" shows "(b \<in> \<Inter> (B ` A)) = (\<forall>x\<in>A. b \<in> B x)"
soldAllocationsFinite: fixes N :: "integer set"   and \<Omega> :: "'c set" assumes "finite N"   and "finite \<Omega>" shows "finite (soldAllocations N \<Omega>)"
eqd_prefE: fixes x :: "'b list"   and y :: "'b list"   and u :: "'b list"   and v :: "'b list" assumes "x \<cdot> y = u \<cdot> v"   and "\<^bold>|x\<^bold>| \<le> \<^bold>|u\<^bold>|" obtains t :: "'b list" where "x \<cdot> t = u" and "t \<cdot> v = y"
std_normal_distribution_even_moments_abs: fixes k :: "nat" shows "LINT x|std_normal_distribution. \<bar>x\<bar> ^ (2 * k) = fact (2 * k) / (2 ^ k * fact k)"
SL\<^sub>N_def: fixes p :: "real"   and n :: "nat" shows "random_skip_list.SL\<^sub>N p n = random_skip_list.SL p {..<n}"
intro: fixes \<I>_real :: "('y, 'aa) \<I>"   and \<I>_common :: "('z, 'ab) \<I>"   and \<A> :: "('y + 'z, 'aa + 'ab) distinguisher_obsf"   and sim :: "('y, 'aa, 'ac, 'ad) converter"   and ideal_resource :: "('ac + 'z, 'ad + 'ab) resource"   and real_resource :: "('y + 'z, 'aa + 'ab) resource"   and adv :: "real" assumes "exception_\<I> (\<I>_real \<oplus>\<^sub>\<I> \<I>_common) \<turnstile>g \<A> \<surd> \<Longrightarrow> advantage \<A> (obsf_resource (sim |\<^sub>= 1\<^sub>C \<rhd> ideal_resource)) (obsf_resource real_resource) \<le> adv" shows "constructive_security_sim_obsf real_resource ideal_resource sim \<I>_real \<I>_common \<A> adv"
empty_not_add_mset: fixes a :: "'c"   and A :: "'c multiset" shows "{#} \<noteq> add_mset a A"
mod_diff_right_eq: fixes a :: "'a"   and b :: "'a"   and c :: "'a" shows "(a - b mod c) mod c = (a - b) mod c"
mult_lift_imp_distrib: fixes x :: "V"   and y :: "V"   and z :: "V" assumes "x * lift y z = lift (x * y) (x * z)" shows "x * (y + z) = x * y + x * z"
ostep_invariantI: fixes A :: "('d \<times> 'e, 'f) automaton"   and S :: "'d \<Rightarrow> 'd \<Rightarrow> 'f \<Rightarrow> bool"   and U :: "'d \<Rightarrow> 'd \<Rightarrow> bool"   and P :: "('d \<times> 'e) \<times> 'f \<times> 'd \<times> 'e \<Rightarrow> bool" assumes "\<And>\<sigma> s a \<sigma>' s'. \<lbrakk>(\<sigma>, s) \<in> oreachable A S U; ((\<sigma>, s), a, \<sigma>', s') \<in> automaton.trans A; S \<sigma> \<sigma>' a\<rbrakk> \<Longrightarrow> P ((\<sigma>, s), a, \<sigma>', s')" shows "A \<Turnstile>\<^sub>A (S, U \<rightarrow>) P"
assms_1: shows "exact_seq ([G1], [])  \<longlongrightarrow>\<^bsub>g1\<^esub> G2  \<longlongrightarrow>\<^bsub>g2\<^esub> G3"
actHn: fixes t :: "nat \<Rightarrow> cnf"   and n :: "nat" shows "\<exists>nid. honest nid \<and> \<parallel>nid\<parallel>\<^bsub>t n\<^esub> \<and> \<parallel>nid\<parallel>\<^bsub>t (Suc n)\<^esub>"
less: fixes n :: "nat"   and m :: "nat" assumes "\<And>j k. j + k < n + m \<Longrightarrow> P j k" shows "P n m"
VDM_Sound: fixes G :: "((Var \<Rightarrow> Val) \<Rightarrow> (Var \<Rightarrow> Val) \<Rightarrow> bool) set"   and c :: "IMP"   and A :: "(Var \<Rightarrow> Val) \<Rightarrow> (Var \<Rightarrow> Val) \<Rightarrow> bool" assumes "G \<rhd> c : A" shows "G \<Turnstile> c : A "
even_Carmichael: fixes n :: "nat" assumes "2 < n" shows "even (Carmichael n)"
test_dvd_factor: fixes p :: "int"   and n :: "nat"   and sl_impl :: "(int poly, int \<times> int poly list, 'a) subseqs_foldr_impl"   and sli :: "int \<times> int poly list \<Rightarrow> int poly list \<Rightarrow> nat \<Rightarrow> 'a \<Rightarrow> bool"   and u :: "int poly"   and ws :: "int poly multiset"   and v :: "int poly" assumes "prime p"   and "p = p ^ n"   and "n \<noteq> 0"   and "correct_subseqs_foldr_impl (\<lambda>x. map_prod (p.mul_const x) ((#) x)) sl_impl sli"   and "u \<noteq> 0"   and "p.test_dvd u ws"   and "v dvd u" shows "p.test_dvd v ws"
left_idem: fixes a :: "'b"   and b :: "'b" shows "min a (min a b) = min a b"
space_tree_sigma: fixes M :: "'b measure" shows "space (tree_sigma M) = trees (space M)"
valid_Pred: fixes satisfies :: "'a \<Rightarrow> 'b \<Rightarrow> bool"   and transition :: "'a \<Rightarrow> ('c, 'a) residual \<Rightarrow> bool"   and P :: "'a"   and \<phi> :: "'b" assumes "nominal_ts satisfies transition" shows "nominal_ts.valid satisfies transition P (Pred \<phi>) = satisfies P \<phi>"
eP_def: fixes n :: "nat"   and \<omega> :: "nat \<Rightarrow> 'a" shows "eP n \<omega> = distr (P n \<omega>) (Pi\<^sub>M {0..<Suc n} M) (fun_upd \<omega> n)"
cyclic_group_axioms: shows "Finite_And_Cyclic_Groups.cyclic_group G a"
choice_def: fixes t :: "transition"   and t' :: "transition" shows "choice t t' = (\<exists>i r. apply_guards (Guards t) (join_ir i r) \<and> apply_guards (Guards t') (join_ir i r))"
measurable_T_iter: fixes T :: "'b \<Rightarrow> 'b"   and M :: "'b measure"   and f :: "'b \<Rightarrow> nat" assumes "T \<in> M \<rightarrow>\<^sub>M M"   and "f \<in> M \<rightarrow>\<^sub>M count_space UNIV" shows "(\<lambda>x. (T ^^ f x) x) \<in> M \<rightarrow>\<^sub>M M"
relcomp_distrib2: fixes S :: "('d \<times> 'f) set"   and T :: "('d \<times> 'f) set"   and R :: "('f \<times> 'e) set" shows "(S \<union> T) O R = S O R \<union> T O R"
map_bind_pmf: fixes f :: "'f \<Rightarrow> 'e"   and M :: "'g pmf"   and g :: "'g \<Rightarrow> 'f pmf" shows "map_pmf f (M \<bind> g) = M \<bind> (\<lambda>x. map_pmf f (g x))"
additive_def: fixes sup :: "'c \<Rightarrow> 'c \<Rightarrow> 'c"   and f :: "'c \<Rightarrow> 'c" shows "sup.additive sup f \<equiv> \<forall>x y. f (sup x y) = sup (f x) (f y)"
pr_gr_is_pr: shows "pr_gr \<in> PrimRec1"
defNode_def: fixes v :: "'val"   and g :: "'g" assumes "v \<in> allVars g" shows "defNode g v = (THE n. n \<in> set (\<alpha>n g) \<and> v \<in> allDefs g n)"
units_of_inv: fixes G :: "('c, 'd) monoid_scheme"   and x :: "'c" assumes "Group.monoid G"   and "x \<in> Units G" shows "inv\<^bsub>units_of G\<^esub> x = inv\<^bsub>G\<^esub> x"
ipoly_abs_int_poly_eq_zero_iff: fixes p :: "int poly"   and x :: "'a" shows "(ipoly (abs_int_poly p) x = (0::'a)) = (ipoly p x = (0::'a))"
Newman_Ingham_1_2: fixes F :: "complex fds"   and f :: "complex \<Rightarrow> complex"   and w :: "complex" assumes "fds_nth F \<in> O(\<lambda>_. 1)"   and "f analytic_on {s. 1 \<le> Re s}"   and "\<And>s. 1 < Re s \<Longrightarrow> eval_fds F s = f s"   and "1 \<le> Re w" shows "eval_fds F w = f w"
inject: fixes x :: "'e"   and ya :: "'e" shows "(OptionT x = OptionT ya) = (x = ya)"
limit_cone_axioms: shows "D.limit_cone (G (J_C.MkIde D)) (\<chi>.\<Phi>.Ya.Cop_S.Map (Adj.\<epsilon> (J_C.MkIde D)))"
simps_1: fixes s :: "'state_t"   and d :: "'dom_t" shows "CISK_control s d [] = (None, [], s)"
index_mat_swaprows_3: fixes k :: "nat"   and l :: "nat"   and A :: "'c mat" shows "dim_col (swaprows k l A) = dim_col A"
G_stable_2: fixes w'' :: "nat \<Rightarrow> 'a set"   and \<psi> :: "'a ltl"   and wa :: "'a set list"   and w'b :: "'a set list" assumes "w'' \<Turnstile> G \<psi> = ((wa @ w'b) \<frown> w'') \<Turnstile> G \<psi>" shows "(w'b \<frown> w'') \<Turnstile> G \<psi> = ((wa @ w'b) \<frown> w'') \<Turnstile> G \<psi>"
inf_le1: fixes x :: "'d upred"   and y :: "'d upred" shows "x \<sqsubseteq> (x \<and> y)"
hcomplex_hRe_zero: shows "hRe 0 = 0"
subdivision_compatible: fixes G :: "('a, 'b) pre_digraph"   and rev_G :: "'b \<Rightarrow> 'b"   and H :: "('a, 'b) pre_digraph"   and rev_H :: "'b \<Rightarrow> 'b" assumes "subdivision (G, rev_G) (H, rev_H)" shows "compatible G H"
wf_finite_segments: fixes r :: "('a \<times> 'a) set" assumes "irrefl r"   and "trans r"   and "\<And>x. finite {y. (y, x) \<in> r}" shows "wf r"
adopt_node_locs_def: shows "adopt_node_locs \<equiv> l_adopt_node\<^sub>C\<^sub>o\<^sub>r\<^sub>e\<^sub>_\<^sub>D\<^sub>O\<^sub>M_defs.a_adopt_node_locs remove_child_locs set_disconnected_nodes_locs"
reflP_def: fixes P :: "'d \<Rightarrow> bool"   and \<phi> :: "'d \<Rightarrow> 'd \<Rightarrow> bool" shows "reflP P \<phi> \<equiv> (\<forall>x y. \<phi> x y \<or> \<phi> y x \<longrightarrow> P x) \<and> (\<forall>x. P x \<longrightarrow> \<phi> x x)"
is_regular_spair_lt: fixes p :: "'t \<Rightarrow>\<^sub>0 'b"   and q :: "'t \<Rightarrow>\<^sub>0 'b" assumes "is_regular_spair p q" shows "lt (spair p q) = ord_term_lin.max ((lcs (punit.lt (rep_list p)) (punit.lt (rep_list q)) - punit.lt (rep_list p)) \<oplus> lt p) ((lcs (punit.lt (rep_list p)) (punit.lt (rep_list q)) - punit.lt (rep_list q)) \<oplus> lt q)"
save_paras: fixes xs :: "nat list"   and ffp :: "nat"   and gs :: "recf list"   and anything :: "nat list" shows "{\<lambda>nl. nl = xs @ 0 \<up> (max (Suc (length xs)) (Max (insert ffp ((\<lambda>(aprog, p, n). n) ` rec_ci ` set gs))) - length xs) @ map (\<lambda>i. rec_exec i xs) gs @ 0 \<up> Suc (length xs) @ anything} mv_boxes 0 (Suc (max (Suc (length xs)) (Max (insert ffp ((\<lambda>(aprog, p, n). n) ` rec_ci ` set gs))) + length gs)) (length xs) {\<lambda>nl. nl = 0 \<up> max (Suc (length xs)) (Max (insert ffp ((\<lambda>(aprog, p, n). n) ` rec_ci ` set gs))) @ map (\<lambda>i. rec_exec i xs) gs @ 0 # xs @ anything}"
of_nat_fact: fixes n :: "nat" shows "of_nat (fact n) = fact n"
negligible_powrI: fixes k :: "real" assumes "0 \<le> k"   and "k < 1" shows "negligible (\<lambda>x. k powr real x)"
simps_7: fixes F :: "'f set"   and p :: "'e" shows "strip_guards F (Call p) = Call p"
ag_p_inv: fixes A :: "('e, 'f) aGroup_scheme"   and x :: "'e"   and y :: "'e" assumes "aGroup A"   and "x \<in> carrier A"   and "y \<in> carrier A" shows "-\<^sub>a\<^bsub>A\<^esub> (x \<plusminus>\<^bsub>A\<^esub> y) = -\<^sub>a\<^bsub>A\<^esub> x \<plusminus>\<^bsub>A\<^esub> -\<^sub>a\<^bsub>A\<^esub> y"
complete_imp2: fixes f :: "'b \<Rightarrow> (bool \<times> term list) option"   and n :: "nat" assumes "is_some (exhaustive_class.exhaustive f (natural_of_nat n))" obtains v :: "'b" where "size v \<le> n" and "is_some (f v)"
that: shows "LENGTH('a) + LENGTH('b) \<le> LENGTH('c)"
keys_coeffs_focus_subset: fixes c :: "('b \<Rightarrow>\<^sub>0 nat) \<Rightarrow>\<^sub>0 'c"   and X :: "'b set"   and p :: "('b \<Rightarrow>\<^sub>0 nat) \<Rightarrow>\<^sub>0 'c" assumes "c \<in> range (lookup (focus X p))" shows "keys c \<subseteq> (\<lambda>t. except t X) ` keys p"
bind_is_OK_pure_I: fixes f :: "('l, 'm, 'n) prog"   and h :: "'l"   and g :: "'n \<Rightarrow> ('l, 'm, 'o) prog" assumes "pure f h"   and "h \<turnstile> ok f"   and "\<And>x. h \<turnstile> f \<rightarrow>\<^sub>r x \<Longrightarrow> h \<turnstile> ok g x" shows "h \<turnstile> ok Heap_Error_Monad.bind f g"
n_lim: shows "passive_subset (Liminf_llist (lmap snd TNs)) = {}"
simps_2: fixes l :: "'a list"   and i :: "nat"   and P :: "pol" shows "Ipol l (Pinj i P) = Ipol (drop i l) P"
writes_bind_pure: fixes f :: "('l, 'm, 'n) prog"   and h :: "'l"   and S :: "('l, 'm, 'o) prog set"   and g :: "'n \<Rightarrow> ('l, 'm, 'p) prog"   and h' :: "'l" assumes "pure f h"   and "\<And>x. h \<turnstile> f \<rightarrow>\<^sub>r x \<Longrightarrow> writes S (g x) h h'" shows "writes S (Heap_Error_Monad.bind f g) h h'"
smallest_accepting_rank\<^sub>\<R>_def: shows "\<MM>.smallest_accepting_rank\<^sub>\<R> \<equiv> if accept\<^sub>R (\<MM>.\<delta>\<^sub>\<R>, \<MM>.q\<^sub>\<R>, {(\<MM>.fail\<^sub>R \<union> \<MM>.merge\<^sub>R j, \<MM>.succeed\<^sub>R j) |j. j < \<MM>.max_rank}) w then Some (LEAST i. accepting_pair\<^sub>R \<MM>.\<delta>\<^sub>\<R> \<MM>.q\<^sub>\<R> (\<MM>.fail\<^sub>R \<union> \<MM>.merge\<^sub>R i, \<MM>.succeed\<^sub>R i) w) else None"
lookup_except_eq_zeroI: fixes t :: "'d"   and S :: "'d set"   and p :: "'d \<Rightarrow>\<^sub>0 'e" assumes "t \<in> S" shows "lookup (except p S) t = (0::'e)"
in_mset_conv_nth: fixes x :: "'b"   and xs :: "'b list" shows "(x \<in># mset xs) = (\<exists>i<length xs. xs ! i = x)"
simps: fixes a1 :: "('a, 'b) Proc"   and a2 :: "('a, 'b) Proc"   and Enc :: "'a \<Rightarrow> 'b"   and TRel :: "('b \<times> 'b) set" shows "((a1, a2) \<in> encoding.indRelRT Enc TRel) = ((\<exists>S. a1 = SourceTerm S \<and> a2 = TargetTerm (Enc S)) \<or> (\<exists>T1 T2. a1 = TargetTerm T1 \<and> a2 = TargetTerm T2 \<and> (T1, T2) \<in> TRel))"
set_nebset_inject: fixes x :: "'d set!['e]"   and y :: "'d set!['e]" shows "(set_nebset x = set_nebset y) = (x = y)"
M_sup: fixes t :: "real" assumes "t \<in> {x - 1..x + 1}" shows "\<bar>poly (pderiv p) t\<bar> \<le> M"
prefix_sdrop_slength: fixes xs :: "[:'r:]"   and ys :: "[:'r:]" assumes "prefix\<cdot>xs\<cdot>ys = TT" shows "xs :@ sdrop\<cdot>(slength\<cdot>xs)\<cdot>ys = ys"
tfr_stp_all: shows "list_all tfr\<^sub>s\<^sub>t\<^sub>p S"
lseg_prec1: fixes p :: "'a node ref option"   and q :: "'a node ref"   and x :: "'a node"   and F1 :: "assn"   and F2 :: "assn"   and h :: "heap \<times> nat set" shows "\<forall>l l'. h \<Turnstile> lseg l p (Some q) * q \<mapsto>\<^sub>r x * F1 \<and>\<^sub>A lseg l' p (Some q) * q \<mapsto>\<^sub>r x * F2 \<longrightarrow> l = l'"
ipPartitionUnion: fixes As :: "'b set set"   and Cs :: "'b set set"   and Bs :: "'b set set" shows "(ipPartition As Cs \<and> ipPartition Bs Cs) = ipPartition (As \<union> Bs) Cs"
S\<^sub>0_def: shows "Tfg.S\<^sub>0 = \<lbrakk>\<lbrakk>tab\<^sub>0 g\<rbrakk>\<rbrakk>"
wfP_eq_minimal: fixes r :: "'c \<Rightarrow> 'c \<Rightarrow> bool" shows "wfP r = (\<forall>Q x. x \<in> Q \<longrightarrow> (\<exists>z\<in>Q. \<forall>y. r y z \<longrightarrow> y \<notin> Q))"
intro: fixes nodes :: "'a stream"   and inPorts :: "'a \<Rightarrow> 'b fset"   and outPorts :: "'a \<Rightarrow> 'c fset"   and vertices :: "'d fset"   and nodeOf :: "'d \<Rightarrow> 'a"   and edges :: "(('d \<times> 'c) \<times> 'd \<times> 'b) set"   and hyps :: "'a \<Rightarrow> 'c \<Rightarrow> 'b option" assumes "Well_Scoped_Graph nodes inPorts outPorts vertices nodeOf edges hyps"   and "Acyclic_Graph nodes inPorts outPorts vertices nodeOf edges hyps"   and "Saturated_Graph nodes inPorts outPorts vertices nodeOf edges"   and "Pruned_Port_Graph nodes inPorts outPorts vertices nodeOf edges" shows "Well_Shaped_Graph nodes inPorts outPorts vertices nodeOf edges hyps"
UNIV_3: shows "UNIV = {1, 2, 3}"
valid_edge_set: shows "E \<subseteq> V \<times> V"
equiv_up_toD2: fixes P :: "(char list \<Rightarrow> int) \<Rightarrow> bool"   and c :: "com"   and c' :: "com"   and s :: "char list \<Rightarrow> int"   and s' :: "char list \<Rightarrow> int" assumes "P \<Turnstile> c \<sim> c'"   and "(c', s) \<Rightarrow> s'"   and "P s" shows "(c, s) \<Rightarrow> s'"
bicategory_axioms: shows "bicategory (\<cdot>\<^sub>B) (\<star>\<^sub>B) \<a>\<^sub>B \<i>\<^sub>B src\<^sub>B trg\<^sub>B"
m1_inv3_ifresh_def: shows "m1_inv3_ifresh \<equiv> {s. \<forall>A A' B B' Ra Ra' Kab nl nl'. runs s Ra = Some (Init, [A, B], aKey Kab # nl) \<longrightarrow> runs s Ra' = Some (Init, [A', B'], aKey Kab # nl') \<longrightarrow> A \<notin> bad \<longrightarrow> B \<notin> bad \<longrightarrow> Kab \<notin> Domain (m1_state.leak s) \<longrightarrow> Ra = Ra'}"
f1: shows "\<forall>r. (\<not> trans r \<or> (\<forall>p pa pb. (p, pa) \<notin> r \<or> (pa, pb) \<notin> r \<or> (p, pb) \<in> r)) \<and> (trans r \<or> (pp r, ppa r) \<in> r \<and> (ppa r, ppb r) \<in> r \<and> (pp r, ppb r) \<notin> r)"
iwlsFSwSTR_def: fixes MOD :: "('index, 'bindex, 'varSort, 'sort, 'opSym, 'a, 'b, 'c, 'd) model_scheme" shows "iwlsFSwSTR MOD \<equiv> igWlsAllDisj MOD \<and> igWlsAbsIsInBar MOD \<and> igConsIPresIGWlsSTR MOD \<and> igSwapAllIPresIGWlsAllSTR MOD \<and> igFreshClsSTR MOD \<and> igSwapClsSTR MOD \<and> igAbsCongSSTR MOD"
connection_solves_ode: fixes x :: "real \<Rightarrow> 'b"   and f :: "real \<Rightarrow> 'b \<Rightarrow> 'b"   and T :: "real set"   and X :: "'b set"   and y :: "real \<Rightarrow> 'b"   and g :: "real \<Rightarrow> 'b \<Rightarrow> 'b"   and S :: "real set"   and Y :: "'b set" assumes "(x solves_ode f) T X"   and "(y solves_ode g) S Y"   and "closure S \<inter> closure T \<subseteq> T"   and "closure S \<inter> closure T \<subseteq> S"   and "\<And>t. \<lbrakk>t \<in> closure S; t \<in> closure T\<rbrakk> \<Longrightarrow> x t = y t"   and "\<And>t. \<lbrakk>t \<in> closure S; t \<in> closure T\<rbrakk> \<Longrightarrow> f t (y t) = g t (y t)" shows "((\<lambda>t. if t \<in> T then x t else y t) solves_ode (\<lambda>t. if t \<in> T then f t else g t)) (T \<union> S) (X \<union> Y)"
monad_catch_optionT: fixes return :: "'a option \<Rightarrow> 'b"   and bind :: "'b \<Rightarrow> ('a option \<Rightarrow> 'b) \<Rightarrow> 'b" assumes "monad return bind" shows "monad_catch (return_option return) (bind_option return bind) (fail_option return) (catch_option return bind)"
Diff_Int2: fixes A :: "'b set"   and C :: "'b set"   and B :: "'b set" shows "A \<inter> C - B \<inter> C = A \<inter> C - B"
induced_map_unique: fixes w :: "'a"   and w' :: "'a" assumes "f.is_induced_map w"   and "f.is_induced_map w'" shows "w \<cong> w'"
elims: fixes x :: "nat set"   and xa :: "nat"   and y :: "nat" assumes "nth_least_ext x xa = y"   and "\<And>k A. \<lbrakk>enat k < esize A; x = A; xa = k\<rbrakk> \<Longrightarrow> True"   and "\<And>k A. \<lbrakk>enat k < esize A; x = A; xa = k; y = nth_least A k\<rbrakk> \<Longrightarrow> thesis"   and "\<And>k A. \<lbrakk>esize A \<le> enat k; x = A; xa = k\<rbrakk> \<Longrightarrow> True" obtains k :: "nat" and A :: "nat set" where "esize A \<le> enat k" and "x = A" and "xa = k" and "y = Suc (Max A + (k - card A))"
intro: fixes is_map :: "('a \<Rightarrow> 'b option) \<Rightarrow> 'c \<Rightarrow> assn"   and contains_key :: "'a \<Rightarrow> 'c \<Rightarrow> bool Heap" assumes "imp_map_contains_key is_map contains_key"   and "bind_map is_map" shows "bind_map_contains_key is_map contains_key"
lift_poly_fun_def: fixes f :: "('a \<Rightarrow>\<^sub>0 'c) \<Rightarrow> 'a \<Rightarrow>\<^sub>0 'c"   and p :: "'t \<Rightarrow>\<^sub>0 'c" shows "lift_poly_fun f p = lift_poly_fun_2 (\<lambda>_. f) 0 p"
dim_Times: fixes S :: "'a set"   and T :: "'b set" assumes "subspace S"   and "subspace T" shows "dim (S \<times> T) = dim S + dim T"
linorder_le_less_linear: fixes x :: "'c"   and y :: "'c" shows "x \<le> y \<or> y < x"
map_leI: fixes m1 :: "'c \<Rightarrow> 'd option"   and m2 :: "'c \<Rightarrow> 'd option" assumes "\<And>x v. m1 x = Some v \<Longrightarrow> m2 x = Some v" shows "m1 \<subseteq>\<^sub>m m2"
Card_order_cpow: fixes r :: "('c \<times> 'c) set" shows "Card_order (cpow r)"
norm_flip_blinfun: fixes x :: "'b \<Rightarrow>\<^sub>L 'a \<Rightarrow>\<^sub>L 'c" shows "norm (flip_blinfun x) = norm x"
phis_wf: fixes g :: "'g"   and n :: "'node"   and v :: "'val"   and args :: "'val list" assumes "phis g (n, v) = Some args" shows "length (predecessors g n) = length args"
absorb_iff2: fixes a :: "'b::semilattice_sup"   and b :: "'b::semilattice_sup" shows "((a::'b::semilattice_sup) \<le> (b::'b::semilattice_sup)) = (a \<squnion> b = b)"
validToHnf: fixes P :: "pi" assumes "valid P" shows "\<exists>Q. uhnf Q \<and> valid Q \<and> Q \<equiv>\<^sub>e P \<and> depth Q \<le> depth P"
nonInterference_path_to_Low: fixes sourcenode :: "'a \<Rightarrow> 'b"   and targetnode :: "'a \<Rightarrow> 'b"   and kind :: "'a \<Rightarrow> ('c, 'd, 'e, 'f) edge_kind"   and valid_edge :: "'a \<Rightarrow> bool"   and Entry :: "'b"   and get_proc :: "'b \<Rightarrow> 'f"   and get_return_edges :: "'a \<Rightarrow> 'a set"   and procs :: "('f \<times> 'c list \<times> 'c list) list"   and Main :: "'f"   and Exit :: "'b"   and Def :: "'b \<Rightarrow> 'c set"   and Use :: "'b \<Rightarrow> 'c set"   and ParamDefs :: "'b \<Rightarrow> 'c list"   and ParamUses :: "'b \<Rightarrow> 'c set list"   and H :: "'c set"   and L :: "'c set"   and High :: "'b"   and Low :: "'b"   and cf :: "'c \<Rightarrow> 'd option"   and cf' :: "'c \<Rightarrow> 'd option"   and S :: "'b SDG_node set"   and as :: "'a list"   and as' :: "'a list" assumes "NonInterferenceInterGraph sourcenode targetnode kind valid_edge Entry get_proc get_return_edges procs Main Exit Def Use ParamDefs ParamUses H L High Low"   and "NonInterferenceInterGraph.lowEquivalence L [cf] [cf']"   and "High \<notin> SDG.SDG_to_CFG_set (SDG.HRB_slice sourcenode targetnode kind valid_edge get_proc get_return_edges procs Exit Def Use ParamDefs ParamUses S)"   and "CFG_node Low \<in> S"   and "CFG.valid_path' sourcenode targetnode kind valid_edge get_return_edges Entry as Low"   and "CFG.preds procs (CFG.kinds kind as) [(cf, undefined)]"   and "CFG.valid_path' sourcenode targetnode kind valid_edge get_return_edges Entry as' Low"   and "CFG.preds procs (CFG.kinds kind as') [(cf', undefined)]" shows "NonInterferenceInterGraph.lowEquivalence L (map fst (CFG.transfers procs (CFG.kinds kind as) [(cf, undefined)])) (map fst (CFG.transfers procs (CFG.kinds kind as') [(cf', undefined)]))"
closedin_subtopology_refl: fixes U :: "'b topology"   and X :: "'b set" shows "closedin (subtopology U X) X = (X \<subseteq> topspace U)"
execute_freeze: fixes a :: "'a array"   and h :: "heap" shows "execute (Array.freeze a) h = Some (Array.get h a, h)"
FORWEAK_invarI: fixes X :: "'a set"   and d :: "'b nres"   and P :: "'b \<Rightarrow> bool"   and f :: "'a \<Rightarrow> 'b nres"   and I :: "'b \<Rightarrow> 'a set \<Rightarrow> bool"   and c :: "'b \<Rightarrow> 'b \<Rightarrow> 'b nres" assumes "X = {} \<Longrightarrow> d \<le> SPEC P"   and "\<And>a. a \<in> X \<Longrightarrow> f a \<le> SPEC (\<lambda>x. I x (X - {a}))"   and "\<And>a. a \<in> X \<Longrightarrow> f a \<le> SPEC (\<lambda>x. I x X)"   and "\<And>a aa b ba. \<lbrakk>I aa b; a \<in> b\<rbrakk> \<Longrightarrow> f a \<le> SPEC (\<lambda>xb. c aa xb \<le> SPEC (\<lambda>r. I r (b - {a})))"   and "\<And>a aa b ba. \<lbrakk>I aa b; a \<in> b\<rbrakk> \<Longrightarrow> f a \<le> SPEC (\<lambda>xb. c aa xb \<le> SPEC (\<lambda>r. I r b))"   and "\<And>aa. I aa {} \<Longrightarrow> P aa" shows "FORWEAK X d f c \<le> SPEC P"
restrict_cong: fixes I :: "'c set"   and J :: "'c set"   and f :: "'c \<Rightarrow> 'd"   and g :: "'c \<Rightarrow> 'd" assumes "I = J"   and "\<And>i. i \<in> J =simp=> f i = g i" shows "restrict f I = restrict g J"
disjnt_iff: fixes A :: "'d set"   and B :: "'d set" shows "disjnt A B = (\<forall>x. \<not> (x \<in> A \<and> x \<in> B))"
denote_while_n_sum_mat_seq: fixes \<rho> :: "complex mat"   and x1 :: "nat \<Rightarrow> complex mat"   and x2 :: "com" assumes "\<rho> \<in> carrier_mat d d"   and "x1 0 \<in> carrier_mat d d"   and "x1 1 \<in> carrier_mat d d"   and "partial_density_operator \<rho>"   and "well_com x2"   and "measurement d 2 x1" shows "matrix_seq d (matrix_sum d (\<lambda>n. denote_while_n (x1 0) (x1 1) (denote x2) n \<rho>))"
incl_subgroup: fixes J :: "'a set"   and I :: "'a set" assumes "subgroup J (G\<lparr>carrier := P\<rparr>)"   and "subgroup I (G\<lparr>carrier := P, carrier := J\<rparr>)" shows "subgroup I (G\<lparr>carrier := P\<rparr>)"
exp_base_def: fixes x :: "'a"   and n :: "nat" shows "exp_base x n = map (([^]) x) (rev [0..<n])"
analz_insert_freshK3: fixes authK :: "nat"   and servK :: "nat"   and evs :: "event list"   and authK' :: "nat" assumes "AKcryptSK authK servK evs"   and "authK' \<noteq> authK"   and "authK' \<notin> range shrK"   and "evs \<in> kerbV" shows "(Key servK \<in> analz (insert (Key authK') (knows Spy evs))) = (servK = authK' \<or> Key servK \<in> analz (knows Spy evs))"
assms_1: shows "\<not> M1 \<preceq> M2"