hcju/isabelleps huggingface dataset:
encode_kind_Mn: fixes f :: "recf" assumes "encode_kind (encode f) = 5" shows "\<exists>n g. f = Mn n g"
BlockThrow: fixes V :: "char list"   and T :: "ty"   and a :: "nat"   and s :: "heap \<times> sfields \<times> sheap"   and b :: "bool"   and P :: "(char list list \<times> char list exp) prog" shows "P \<turnstile> \<langle>{V:T; Throw a},s,b\<rangle> \<rightarrow> \<langle>Throw a,s,b\<rangle>"
MergeGuardsI_sound: fixes \<Gamma> :: "'d \<Rightarrow> ('e, 'd, 'f) com option"   and \<Theta> :: "('e set \<times> 'd \<times> 'e set \<times> 'e set) set"   and F :: "'f set"   and P :: "'e set"   and c :: "('e, 'd, 'f) com"   and Q :: "'e set"   and A :: "'e set" assumes "\<Gamma>,\<Theta>\<Turnstile>\<^sub>t\<^bsub>/F\<^esub> P c Q,A" shows "\<Gamma>,\<Theta>\<Turnstile>\<^sub>t\<^bsub>/F\<^esub> P merge_guards c Q,A"
less_funI: fixes f :: "nat \<Rightarrow> nat"   and g :: "nat \<Rightarrow> nat" assumes "\<exists>c>0. \<exists>n. \<forall>m>n. f m \<le> c * g m"   and "\<And>c n. 0 < c \<Longrightarrow> \<exists>m>n. c * f m < g m" shows "f \<prec> g"
fmap_freshness_lemma_unique: fixes h :: "('a, 'b) fmap" assumes "\<exists>a. atom a \<sharp> (h, h $$ a)" shows "\<exists>!x. \<forall>a. atom a \<sharp> h \<longrightarrow> h $$ a = x"
permute_eq_iff: fixes permute :: "perm \<Rightarrow> 'e \<Rightarrow> 'e"   and p :: "perm"   and x :: "'e"   and y :: "'e" assumes "class.pt permute" shows "(permute p x = permute p y) = (x = y)"
delete_conv: fixes k :: "'d"   and al :: "('d \<times> 'c) list"   and k' :: "'d" shows "map_of (delete k al) k' = ((map_of al)(k := None)) k'"
imageE: fixes b :: "'n"   and f :: "'o \<Rightarrow> 'n"   and A :: "'o set" assumes "b \<in> f ` A" obtains x :: "'o" where "b = f x" and "x \<in> A"
exhaust: fixes y :: "'c list" obtains "y = []"   | x21 :: "'c" and x22 :: "'c list" where "y = Cons x21 x22"
fps_nth_inject: fixes x :: "('c, 'd) fps"   and y :: "('c, 'd) fps" shows "(($) x = ($) y) = (x = y)"
execute_while_unfolds_1: fixes a :: "'b array"   and key :: "'b"   and i :: "nat ref"   and h :: "heap"   and f :: "'c Heap" assumes "success (shiftr_p a key i) h"   and "cond (shiftr_p a key i) h" shows "execute (while (shiftr_p a key i) f) h = execute (f \<bind> (\<lambda>_. while (shiftr_p a key i) f)) h"
is_arrE: fixes \<CC> :: "V"   and a :: "V"   and b :: "V"   and f :: "V" assumes "f : a \<mapsto>\<^bsub>\<CC>\<^esub> b" obtains "f \<in>\<^sub>\<circ> \<CC>\<lparr>Arr\<rparr>" and "\<CC>\<lparr>Dom\<rparr>\<lparr>f\<rparr> = a" and "\<CC>\<lparr>Cod\<rparr>\<lparr>f\<rparr> = b"
Crypt_unique_PMS: fixes B :: "agent"   and PMS :: "nat"   and evs :: "event list"   and B' :: "agent" assumes "Crypt (pubK B) (Nonce PMS) \<in> parts (knows Spy evs)"   and "Crypt (pubK B') (Nonce PMS) \<in> parts (knows Spy evs)"   and "Nonce PMS \<notin> analz (knows Spy evs)"   and "evs \<in> tls" shows "B = B'"
cong_mult: fixes divide :: "'c \<Rightarrow> 'c \<Rightarrow> 'c"   and plus :: "'c \<Rightarrow> 'c \<Rightarrow> 'c"   and minus :: "'c \<Rightarrow> 'c \<Rightarrow> 'c"   and zero :: "'c"   and times :: "'c \<Rightarrow> 'c \<Rightarrow> 'c"   and one :: "'c"   and modulo :: "'c \<Rightarrow> 'c \<Rightarrow> 'c"   and euclidean_size :: "'c \<Rightarrow> nat"   and division_segment :: "'c \<Rightarrow> 'c"   and b :: "'c"   and c :: "'c"   and a :: "'c"   and d :: "'c"   and e :: "'c" assumes "class.unique_euclidean_semiring divide plus minus zero times one modulo euclidean_size division_segment"   and "unique_euclidean_semiring.cong modulo b c a"   and "unique_euclidean_semiring.cong modulo d e a" shows "unique_euclidean_semiring.cong modulo (times b d) (times c e) a"
prems_5: shows "InvariantCnCharacterization (getCn state') (getC state') (getM state')"
weight_mono: fixes i :: "nat"   and j :: "nat"   and C :: "'a literal multiset" assumes "i < j" shows "weight (C, i) < weight (C, j)"
coeff_linear_power_neg: fixes a :: "'b"   and n :: "nat" shows "coeff ([:a, - (1::'b):] ^ n) n = (- (1::'b)) ^ n"
det_lowerdiagonal: fixes A :: "(('b, 'a) vec, 'a) vec" assumes "\<And>i j. i < j \<Longrightarrow> A $ i $ j = (0::'b)" shows "det A = (\<Prod>i\<in>UNIV. A $ i $ i)"
ex_nat_less_eq: fixes n :: "nat"   and P :: "nat \<Rightarrow> bool" shows "(\<exists>m<n. P m) = (\<exists>m\<in>{0..<n}. P m)"
times_mat_def: fixes A :: "'a mat"   and B :: "'a mat" shows "A * B \<equiv> Matrix.mat (dim_row A) (dim_col B) (\<lambda>(i, j). Matrix.row A i \<bullet> col B j)"
g_inv_def: fixes n :: "nat" shows "g_inv n = (LEAST m. n \<le> g m)"
insertion_def: shows "insertion \<equiv> map_fun id (map_fun mapping_of id) insertion_aux"
wf_measure: fixes f :: "'c \<Rightarrow> nat" shows "wf (measure f)"
subset_2: shows "F \<inter> E \<subseteq> F \<inter> H"
nat_pow_Suc: fixes G :: "('b, 'c) monoid_scheme"   and x :: "'b"   and n :: "nat" shows "x [^]\<^bsub>G\<^esub> Suc n = x [^]\<^bsub>G\<^esub> n \<otimes>\<^bsub>G\<^esub> x"
Lcm_0_iff: 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 Gcd :: "'a set \<Rightarrow> 'a"   and Lcm :: "'a set \<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 set" assumes "class.semiring_Gcd one zero times gcd lcm Gcd Lcm divide plus minus unit_factor normalize"   and "finite A" shows "(Lcm A = zero) = (zero \<in> A)"
intros_5: fixes u :: "'c \<Rightarrow> 'b"   and r :: "'c"   and c :: "'c"   and d :: "'b" assumes "u r - u c \<le> d" shows "dbm_entry_val u (Some r) (Some c) (Le d)"
non_empty_ith_1: fixes C :: "(nat \<Rightarrow> 'a) set"   and i :: "nat" assumes "C \<subseteq> SEQ A"   and "C \<noteq> {}" shows "ith (eq_upto C (lexmin C) i) i \<subseteq> A"
constant_functor_axioms: shows "constant_functor (\<cdot>\<^sub>J) (\<cdot>) (C.cod g)"
atLeastAtMost_def: fixes l :: "'a Word.word"   and u :: "'a Word.word" shows "signed.atLeastAtMost l u \<equiv> signed.atLeast l \<inter> signed.atMost u"
mat_add_seq_def: fixes A :: "complex mat"   and X :: "nat \<Rightarrow> complex mat" shows "mat_add_seq A X = (\<lambda>n. A + X n)"
Eq\<^sub>3E: fixes v :: "i"   and F :: "\<Pi>\<^sub>3"   and G :: "\<Pi>\<^sub>3" assumes "[F \<^bold>=\<^sub>3 G in v]" shows "F = G"
well_order_on_Well_order: fixes A :: "'c set"   and r :: "('c \<times> 'c) set" assumes "well_order_on A r" shows "A = Field r \<and> Well_order r"
extensional_def: fixes A :: "'f set" shows "extensional A = {f. \<forall>x. x \<notin> A \<longrightarrow> f x = undefined}"
a2: shows "\<exists>a. a \<sharp> (pi \<bullet> h, (pi \<bullet> h) a)"
dom_update_with_aux: fixes v :: "'d"   and k :: "'c"   and f :: "'d \<Rightarrow> 'd"   and ps :: "('c \<times> 'd) list" shows "fst ` set (update_with_aux v k f ps) = {k} \<union> fst ` set ps"
norm_CBasis: fixes scaleR :: "real \<Rightarrow> 'a \<Rightarrow> 'a"   and scaleC :: "complex \<Rightarrow> 'a \<Rightarrow> 'a"   and plus :: "'a \<Rightarrow> 'a \<Rightarrow> 'a"   and zero :: "'a"   and minus :: "'a \<Rightarrow> 'a \<Rightarrow> 'a"   and uminus :: "'a \<Rightarrow> 'a"   and dist :: "'a \<Rightarrow> 'a \<Rightarrow> real"   and norm :: "'a \<Rightarrow> real"   and sgn :: "'a \<Rightarrow> 'a"   and uniformity :: "('a \<times> 'a) filter"   and "open" :: "'a set \<Rightarrow> bool"   and cinner :: "'a \<Rightarrow> 'a \<Rightarrow> complex"   and CBasis :: "'a set"   and u :: "'a" assumes "class.ceuclidean_space scaleR scaleC plus zero minus uminus dist norm sgn uniformity open cinner CBasis"   and "u \<in> CBasis" shows "norm u = 1"
reachable_def: fixes s :: "'c"   and s' :: "'c" shows "lts.reachable s s' \<equiv> \<exists>p. lts.path s p s'"
subst_atm_list_Cons: fixes A :: "'a"   and As :: "'a list"   and \<sigma> :: "'s" shows "(A # As) \<cdot>al \<sigma> = A \<cdot>a \<sigma> # As \<cdot>al \<sigma>"
less_matrix_def: fixes f :: "'c \<times> 'c \<Rightarrow> 'd"   and g :: "'c \<times> 'c \<Rightarrow> 'd" shows "(f \<prec> g) = (f \<preceq> g \<and> \<not> g \<preceq> f)"
compl_sup_top: fixes x :: "'a upred" shows "(\<not> x \<or> x) = true"
pop_pow_one': fixes m :: "nat"   and r :: "'b list" assumes "m \<noteq> 0" shows "r \<^sup>@ m = r \<^sup>@ (m - 1) \<cdot> r"
simps_1: fixes wtFsym :: "'e \<Rightarrow> bool"   and wtPsym :: "'f \<Rightarrow> bool"   and arOf :: "'e \<Rightarrow> 'g list"   and resOf :: "'e \<Rightarrow> 'g"   and intT :: "'g \<Rightarrow> 'h \<Rightarrow> bool"   and intF :: "'e \<Rightarrow> 'h list \<Rightarrow> 'h"   and intP :: "'f \<Rightarrow> 'h list \<Rightarrow> bool"   and \<xi> :: "Preliminaries.var \<Rightarrow> 'h"   and a :: "('e, 'f) atm" assumes "Struct wtFsym wtPsym arOf resOf intT intF intP" shows "Struct.satL intF intP \<xi> (Pos a) = Struct.satA intF intP \<xi> a"
cong: fixes plus :: "'r \<Rightarrow> 'r \<Rightarrow> 'r"   and zero :: "'r" shows "comm_monoid_add.sum plus zero \<equiv> comm_monoid_add.sum plus zero"
pdivmod_def: fixes p :: "'a mpoly"   and q :: "'a mpoly" shows "pdivmod p q = (p pdiv q, p pmod q)"
stutter_free_def: fixes \<sigma> :: "nat \<Rightarrow> 'b" shows "stutter_free \<sigma> \<equiv> \<forall>k. \<sigma> (Suc k) = \<sigma> k \<longrightarrow> (\<forall>n>k. \<sigma> n = \<sigma> k)"
power_commuting_commutes: fixes x :: "'b list"   and y :: "'b list"   and n :: "nat" assumes "x \<cdot> y = y \<cdot> x" shows "x \<^sup>@ n \<cdot> y = y \<cdot> x \<^sup>@ n"
prefix_of_node_history_def: fixes xs :: "'c list"   and i :: "nat" shows "trivial_node_histories.prefix_of_node_history xs i \<equiv> \<exists>ys. xs @ ys = []"
intros_11: fixes \<sigma> :: "nat \<Rightarrow> 'e"   and q :: "('e, 'f, 'g, 'h) seqp"   and a :: "'f seq_action"   and \<sigma>' :: "nat \<Rightarrow> 'e"   and q' :: "('e, 'f, 'g, 'h) seqp"   and \<Gamma> :: "'g \<Rightarrow> ('e, 'f, 'g, 'h) seqp"   and i :: "nat"   and p :: "('e, 'f, 'g, 'h) seqp" assumes "((\<sigma>, q), a, \<sigma>', q') \<in> oseqp_sos \<Gamma> i" shows "((\<sigma>, p \<oplus> q), a, \<sigma>', q') \<in> oseqp_sos \<Gamma> i"
hyps_1: shows "((e, s), e'', s'') \<in> Red P E"
preserves_section: fixes m :: "'a" assumes "B.section m" shows "B.section (src\<^sub>B m)"
inject_2: fixes x2 :: "('b, 'c, 'd) Tree"   and y2 :: "('b, 'c, 'd) Tree" shows "(tNot x2 = tNot y2) = (x2 = y2)"
minus_coset_filter: fixes A :: "'a set"   and xs :: "'a list" shows "A - List.coset xs = set (filter (\<lambda>x. x \<in> A) xs)"
laplace_exists_laplace_integrandI: fixes s :: "complex" assumes "local.laplace_integrand s integrable_on {0..}" obtains F :: "complex" where "(f has_laplace F) s"
simps_21: shows "cospan_shape.comp cospan_shape.AT cospan_shape.BT = cospan_shape.Null"
F_ndet: fixes P :: "'c process"   and Q :: "'c process" shows "F (P |-| Q) = F P \<union> F Q"
koenig: fixes A :: "('b, 'a) nba"   and w :: "'b stream"   and V :: "(nat \<times> 'a) set"   and p :: "nat \<times> 'a" assumes "infinite (greachable A w V p)"   and "\<And>q. q \<in> greachable A w V p \<Longrightarrow> finite (gsuccessors A w V q)" obtains r :: "(nat \<times> 'a) stream" where "grun A w V r p"
valid_program_history_nth_update: fixes i :: "nat"   and "is" :: "instr list"   and sb :: "'a memref list"   and p :: "'a"   and \<theta> :: "nat \<Rightarrow> nat option"   and \<D> :: "bool"   and \<O> :: "nat set"   and \<R> :: "nat \<Rightarrow> bool option" assumes "i < length ts\<^sub>s\<^sub>b"   and "causal_program_history is sb"   and "last_prog p sb = p" shows "valid_program_history (ts\<^sub>s\<^sub>b[i := (p, is, \<theta>, sb, \<D>, \<O>, \<R>)])"
Un_insert_right: fixes A :: "'c set"   and a :: "'c"   and B :: "'c set" shows "A \<union> ??.Set.insert a B = ??.Set.insert a (A \<union> B)"
LTL_G_one_step_unfolding: fixes w :: "nat \<Rightarrow> 'a set"   and \<phi> :: "'a ltl" shows "w \<Turnstile> G \<phi> = (w \<Turnstile> \<phi> \<and> w \<Turnstile> X (G \<phi>))"
case1: shows "direction linePQ = 0 \<longrightarrow> line joining p to q \<parallel>  line joining p to r"
arcs_ends_def: fixes G :: "('c, 'd) pre_digraph" shows "arcs_ends G \<equiv> arc_to_ends G ` pre_digraph.arcs G"
append_in_lists_conv: fixes xs :: "'b list"   and ys :: "'b list"   and A :: "'b set" shows "(xs \<cdot> ys \<in> lists A) = (xs \<in> lists A \<and> ys \<in> lists A)"
swap_fresh_fresh: fixes a :: "atom"   and x :: "'a"   and b :: "atom" assumes "a \<sharp> x"   and "b \<sharp> x" shows "(a \<rightleftharpoons> b) \<bullet> x = x"
vec_to_iarray_iarray_to_vec: fixes A :: "'c iarray" assumes "IArray.length A = CARD('d)" shows "vec_to_iarray (iarray_to_vec A) = A"
finite_Collect_less_nat: fixes k :: "nat" shows "finite {n. n < k}"
rel_fun_def_butlast: fixes R :: "'b \<Rightarrow> 'd \<Rightarrow> bool"   and S :: "'e \<Rightarrow> 'g \<Rightarrow> bool"   and T :: "'f \<Rightarrow> 'h \<Rightarrow> bool"   and f :: "'b \<Rightarrow> 'e \<Rightarrow> 'f"   and g :: "'d \<Rightarrow> 'g \<Rightarrow> 'h" shows "rel_fun R (rel_fun S T) f g = (\<forall>x y. R x y \<longrightarrow> rel_fun S T (f x) (g y))"
restrict_partition_merge: fixes I :: "nat set"   and J :: "nat set"   and V :: "nat set"   and n :: "nat"   and z :: "'a option list"   and xx :: "'a option list"   and t :: "'a option list" assumes "I \<union> J = V"   and "wf_tuple n V z"   and "xx = restrict J z"   and "t = restrict I z"   and "Set.is_empty (I \<inter> J)" shows "z = merge xx t"
INIT\<^sub>1: shows "INIT mem\<^sub>1"
path_nodes: fixes \<pi> :: "nat \<Rightarrow> 'n"   and k :: "nat" assumes "is_path \<pi>" shows "\<pi> k \<in> local.nodes"
snth_szip: fixes s1 :: "'c stream"   and s2 :: "'d stream"   and n :: "nat" shows "(s1 ||| s2) !! n = (s1 !! n, s2 !! n)"
interfree_aux_def: fixes \<Gamma> :: "'e \<Rightarrow> ('d, 'e, 'f) com option"   and \<Theta> :: "'e \<Rightarrow> ('d, 'e, 'f) ann list option"   and F :: "'f set" shows "interfree_aux \<Gamma> \<Theta> F \<equiv> \<lambda>(c\<^sub>1, (P\<^sub>1, Q\<^sub>1, A\<^sub>1), c\<^sub>2, P\<^sub>2). \<forall>p c. atomicsR \<Gamma> \<Theta> P\<^sub>2 c\<^sub>2 (p, c) \<longrightarrow> \<Gamma> \<Turnstile>\<^bsub>/F\<^esub> (Q\<^sub>1 \<inter> p) c Q\<^sub>1, Q\<^sub>1 \<and> \<Gamma> \<Turnstile>\<^bsub>/F\<^esub> (A\<^sub>1 \<inter> p) c A\<^sub>1, A\<^sub>1 \<and> (\<forall>a. assertionsR \<Gamma> \<Theta> Q\<^sub>1 A\<^sub>1 P\<^sub>1 c\<^sub>1 a \<longrightarrow> \<Gamma> \<Turnstile>\<^bsub>/F\<^esub> (a \<inter> p) c a, a)"
powr_minus: fixes x :: "'b"   and a :: "'b" shows "x powr - a = inverse (x powr a)"
deadlocked1_imp_\<tau>s_deadlocked2: fixes final1 :: "'a \<Rightarrow> bool"   and r1 :: "('d, 'b, 'a, 'c, 'e, 'f) semantics"   and final2 :: "'g \<Rightarrow> bool"   and r2 :: "('d, 'b, 'g, 'h, 'e, 'f) semantics"   and bisim :: "'b \<Rightarrow> 'a \<times> 'c \<Rightarrow> 'g \<times> 'h \<Rightarrow> bool"   and bisim_wait :: "'a \<Rightarrow> 'g \<Rightarrow> bool"   and \<tau>move1 :: "('d, 'b, 'a, 'c, 'e, 'f) \<tau>moves"   and \<tau>move2 :: "('d, 'b, 'g, 'h, 'e, 'f) \<tau>moves"   and s1 :: "('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 s2 :: "('d, 'b) locks \<times> (('b \<Rightarrow> ('g \<times> 'd \<Rightarrow>f nat) option) \<times> 'h) \<times> ('b \<Rightarrow> 'e wait_set_status option) \<times> 'b set"   and t :: "'b"   and convert_RA :: "'d \<Rightarrow>f nat \<Rightarrow> 'f list" assumes "FWdelay_bisimulation_diverge final1 r1 final2 r2 bisim bisim_wait \<tau>move1 \<tau>move2"   and "FWbisimulation_base.mbisim bisim bisim_wait s1 s2"   and "t \<in> multithreaded_base.deadlocked final1 r1 s1" shows "\<exists>s2'. (\<tau>trsys.silent_move (multithreaded_base.redT final2 r2 convert_RA) (\<tau>multithreaded.m\<tau>move \<tau>move2))\<^sup>*\<^sup>* s2 s2' \<and> t \<in> multithreaded_base.deadlocked final2 r2 s2' \<and> FWbisimulation_base.mbisim bisim bisim_wait s1 s2'"
pathfinish_in_path_image: fixes g :: "real \<Rightarrow> 'b" shows "pathfinish g \<in> path_image g"
finite_UN: fixes A :: "'c set"   and B :: "'c \<Rightarrow> 'd set" assumes "finite A" shows "finite (\<Union> (B ` A)) = (\<forall>x\<in>A. finite (B x))"
the_elem_eq: fixes x :: "'d" shows "the_elem {x} = x"
Pivot_def: fixes eq_idx_for_lvar :: "(nat \<times> linear_poly) list \<Rightarrow> nat \<Rightarrow> nat"   and pivot :: "nat \<Rightarrow> nat \<Rightarrow> ('a, 'b) state \<Rightarrow> ('a, 'b) state" shows "Pivot eq_idx_for_lvar pivot \<equiv> EqForLVar eq_idx_for_lvar \<and> Pivot_axioms eq_idx_for_lvar pivot"
arr_Rel_id_RelI: fixes A :: "V" assumes "A \<in>\<^sub>\<circ> Vset \<alpha>" shows "arr_Rel \<alpha> (id_Rel A)"
Cd_idem: fixes d :: "'d"   and B :: "'x set" shows "Cd d (Cd d B) = Cd d B"
assms_2: fixes x :: "'a"   and y :: "'a"   and z :: "'a" assumes "P x y"   and "P y z" shows "P x z"
termi_impl_not_inf: fixes c :: "com"   and s :: "state" assumes "c \<down> s" shows "\<not> PHoareTotal.inf [c] s"
map_def: fixes Fg :: "('a \<Rightarrow> 'b, 'a \<Rightarrow> 'b) concrete_category.arr \<times> 'a" shows "E.map Fg \<equiv> if A_BxA.arr Fg then A_B.Map (fst Fg) (snd Fg) else B.null"
coreflexive_conv_closed: fixes x :: "'c \<times> 'c \<Rightarrow> 'd" assumes "matrix_idempotent_semiring.coreflexive x" shows "matrix_idempotent_semiring.coreflexive (x\<^sup>t)"
higher_eq_zero_iff: fixes p :: "'a \<Rightarrow>\<^sub>0 'c"   and v :: "'a" shows "(punit.higher p v = 0) = (\<forall>u. v \<prec> u \<longrightarrow> lookup p u = (0::'c))"
assms_3: fixes p :: "'a"   and x :: "'a" assumes "prime p"   and "P x" shows "P (p * x)"
minus_mult_div_eq_mod: 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 a :: "'b"   and b :: "'b" assumes "class.semiring_modulo plus minus zero times one divide modulo" shows "minus a (times b (divide a b)) = modulo a b"
dim_factorization_lattice_element: fixes x :: "'a vec"   and u :: "'a poly"   and d :: "nat"   and m :: "'a" assumes "x \<in> set (factorization_lattice u d m)" shows "dim_vec x = degree u + d"
yields_isomorphic_representation': obtains \<psi> :: "'a" where "\<guillemotleft>\<psi> : tab\<^sub>1 r \<star> (tab\<^sub>0 r)\<^sup>* \<Rightarrow> r\<guillemotright>" and "local.iso \<psi>"
simps: fixes a1 :: "'state"   and a2 :: "((('act, 'pred) S_action, unit) S_action, 'state) residual" shows "S_transform.S_transition a1 a2 = ((\<exists>P \<alpha> P'. a1 = P \<and> a2 = \<langle>S_action.Act \<alpha>,P'\<rangle> \<and> P \<rightarrow>\<^sub>S \<langle>\<alpha>,P'\<rangle>) \<or> (\<exists>P \<phi>. a1 = P \<and> a2 = \<langle>S_action.Pred \<phi>,P\<rangle> \<and> P \<turnstile>\<^sub>S \<phi>))"
gcd_smult_right: fixes c :: "'a"   and f :: "'a poly"   and g :: "'a poly" assumes "c \<noteq> (0::'a)" shows "gcd f (Polynomial.smult c g) = gcd f g"
pred_set: fixes P :: "'a \<Rightarrow> bool" shows "pred_pmf P = (\<lambda>x. Ball (set_pmf x) P)"
length_rule: fixes a :: "'a array"   and xs :: "'a list" shows "<a \<mapsto>\<^sub>a xs> Array.len a <\<lambda>r. a \<mapsto>\<^sub>a xs * \<up> (r = length xs)>"
mulex1_self_add_right: fixes P :: "'b \<Rightarrow> 'b \<Rightarrow> bool"   and A :: "'b multiset"   and a :: "'b" shows "mulex1 P A (add_mset a A)"
mem_ass_forms: fixes a :: "'form" shows "(a |\<in>| ass_forms) = (a \<in> set assumptions)"
rquot_def: shows "rquot = (\<lambda>(bd, as) v. (bd, map_index (\<lambda>x n. nfa_accepting' as (rquot_dfs (bd, as) v n)) as 0))"
commute: fixes a :: "'a Word.word"   and b :: "'a Word.word" shows "signed.max a b = signed.max b a"
abs_eq_impl_unitfactor: fixes a :: "int"   and b :: "int" assumes "\<bar>a\<bar> = \<bar>b\<bar>" shows "\<exists>u. a = u * b \<and> \<bar>u\<bar> = 1"
reflect_poly_const: fixes a :: "'c" shows "reflect_poly [:a:] = [:a:]"
assms_7: shows "slist_2 \<in> state_set (state_list s as)"
hiding_advantage_ind_cpa_def: fixes key_gen :: "('b \<times> 'c) spmf"   and commit :: "'b \<Rightarrow> 'd \<Rightarrow> ('e \<times> 'f) spmf"   and valid_msg :: "'d \<Rightarrow> bool"   and \<A> :: "('c \<Rightarrow> (('d \<times> 'd) \<times> 'g) spmf) \<times> ('e \<Rightarrow> 'g \<Rightarrow> bool spmf)" shows "abstract_commitment.hiding_advantage_ind_cpa key_gen commit valid_msg \<A> \<equiv> \<bar>spmf (abstract_commitment.hiding_game_ind_cpa key_gen commit valid_msg \<A>) True - 1 / 2\<bar>"
o_def: fixes f :: "'f \<Rightarrow> 'e"   and g :: "'d \<Rightarrow> 'f" shows "f \<circ> g = (\<lambda>x. f (g x))"
lfp_le_gfp: fixes f :: "'b \<Rightarrow> 'b" assumes "mono f" shows "lfp f \<le> gfp f"
le_imp_less_or_eq: fixes x :: "'c word"   and y :: "'c word" assumes "x \<le>s y" shows "x <s y \<or> x = y"
divisor_count_pos_iff: fixes n :: "nat" shows "(0 < divisor_count n) = (0 < n)"
card_of_Sigma_cong: fixes f :: "'a \<Rightarrow> 'b"   and I :: "'a set"   and J :: "'b set"   and A :: "'b \<Rightarrow> 'c set"   and B :: "'b \<Rightarrow> 'd set" assumes "bij_betw f I J"   and "\<forall>j\<in>J. |A j| =o |B j|" shows "|SIGMA i:I. A (f i)| =o |Sigma J B|"
fold_A_opp_fold_A_chamber_systems_2: fixes X :: "'b set set"   and \<A> :: "'b set set set"   and A :: "'b set set"   and B :: "'b set set"   and B' :: "'b set set"   and C :: "'b set"   and D :: "'b set"   and E :: "'b set"   and z :: "'b set" assumes "ChamberComplexApartmentSystemTriangle X \<A> A B B' C D E z" shows "ChamberComplex.chamber_system ((ChamberComplexWithApartmentSystem.canonical_retraction X \<A> A D \<circ> ChamberComplexWithApartmentSystem.canonical_retraction X \<A> B C) \<turnstile> A) \<inter> ChamberComplex.chamber_system ((ChamberComplexWithApartmentSystem.canonical_retraction X \<A> A C \<circ> ChamberComplexWithApartmentSystem.canonical_retraction X \<A> B' D) \<turnstile> A) = {}"
permutations_of_setD_2: fixes xs :: "'a list"   and A :: "'a set" assumes "xs \<in> permutations_of_set A" shows "distinct xs"
intros_2: fixes \<Gamma> :: "char list \<Rightarrow> 'a rule list option"   and \<gamma> :: "'a \<Rightarrow> 'b \<Rightarrow> bool"   and packet_tagger :: "'c \<Rightarrow> 'd \<Rightarrow> 'b"   and state_update :: "'c \<Rightarrow> final_decision \<Rightarrow> 'd \<Rightarrow> 'c"   and \<sigma>\<^sub>0 :: "'c"   and built_in_chain :: "char list"   and default_policy :: "action"   and p :: "'d"   and ps :: "'d list"   and ps_processed :: "('d \<times> final_decision) list"   and \<sigma>' :: "'c"   and X :: "final_decision" assumes "semantics_stateful_packet_tagging \<Gamma> \<gamma> packet_tagger state_update \<sigma>\<^sub>0 (built_in_chain, default_policy) (p # ps) ps_processed \<sigma>'"   and "\<Gamma>,\<gamma>,packet_tagger \<sigma>' p\<turnstile> \<langle>[Rule MatchAny (Call built_in_chain), Rule MatchAny default_policy], Undecided\<rangle> \<Rightarrow> Decision X" shows "semantics_stateful_packet_tagging \<Gamma> \<gamma> packet_tagger state_update \<sigma>\<^sub>0 (built_in_chain, default_policy) ps (ps_processed @ [(p, X)]) (state_update \<sigma>' X p)"
simps_10: fixes v :: "'b rexp"   and va :: "'b rexp" shows "le_rexp One (Times v va) = True"
mpl_lem: fixes j :: "nat"   and i :: "nat"   and k :: "nat" assumes "j \<le> i"   and "k < j" shows "i - j + k < i"
bran: shows "b \<notin> ran ((\<lambda>a. Some (y a)) |` {a. y a \<noteq> b})"
BVG_compose: fixes \<alpha> :: "game"   and \<beta> :: "game" shows "BVG (\<alpha> ;; \<beta>) \<subseteq> BVG \<alpha> \<union> BVG \<beta>"
\<sigma>''_def: shows "\<sigma>'' = rm_vars (UNIV - X) \<sigma>'"
vsv_vimageI2: fixes a :: "V" assumes "a \<in>\<^sub>\<circ> \<D>\<^sub>\<circ> vrat_uminus" shows "-\<^sub>\<rat> a \<in>\<^sub>\<circ> \<R>\<^sub>\<circ> vrat_uminus"
poly_power: fixes p :: "'c poly"   and n :: "nat"   and x :: "'c" shows "poly (p ^ n) x = poly p x ^ n"