hcju/isabelleps huggingface dataset:
insert_is_Un: fixes a :: "'c"   and A :: "'c set" shows "{a} \<union> A = {a} \<union> A"
gt_arg: fixes ti :: "('s, 'v) tm"   and t :: "('s, 'v) tm"   and s :: "('s, 'v) tm" assumes "ti \<in> set (args t)"   and "ti \<ge>\<^sub>t s" shows "t >\<^sub>t s"
allE: fixes P :: "'a \<Rightarrow> bool"   and x :: "'a" assumes "\<forall>x. P x" obtains "P x"
openin_Times_eq: fixes S :: "'c set"   and T :: "'d set"   and S' :: "'c set"   and T' :: "'d set" shows "openin (top_of_set (S \<times> T)) (S' \<times> T') = (S' = {} \<or> T' = {} \<or> openin (top_of_set S) S' \<and> openin (top_of_set T) T')"
Cons_6: shows "\<forall>c l. l \<noteq> literal \<longrightarrow> (c \<in> set (getWatchList state l)) = (Some l = getWatch1 state c \<or> Some l = getWatch2 state c)"
fully_faithful_functor_L: shows "fully_faithful_functor (\<cdot>\<^sub>S) (\<cdot>\<^sub>S) L"
non_empty_mat_mult: fixes id :: "'b"   and f :: "'b \<Rightarrow> 'b \<Rightarrow> 'b"   and zer :: "'b"   and g :: "'b \<Rightarrow> 'b \<Rightarrow> 'b"   and inver :: "'b \<Rightarrow> 'b"   and nr :: "nat"   and n :: "nat"   and A :: "'b list list"   and nc :: "nat"   and B :: "'b list list" assumes "plus_mult id f zer g inver"   and "mat nr n A"   and "mat n nc B"   and "A \<noteq> []"   and "B \<noteq> []" shows "mat_multI zer g f (mult.row_length A) A B \<noteq> []"
dom_dom: fixes f :: "'a" assumes "arr f" shows "local.dom (local.dom f) = local.dom f"
analz_image_freshCryptK: fixes evs :: "event list"   and K :: "nat"   and KK :: "nat set"   and X :: "msg" assumes "evs \<in> orb"   and "Key K \<notin> analz (knows Spy evs)"   and "KK \<subseteq> - range shrK" shows "(Crypt K X \<in> analz (Key ` KK \<union> knows Spy evs)) = (Crypt K X \<in> analz (knows Spy evs))"
relabel_precond_def: fixes f :: "nat \<times> nat \<Rightarrow> 'a"   and l :: "nat \<Rightarrow> nat"   and u :: "nat" shows "relabel_precond f l u \<equiv> u \<noteq> t \<and> (0::'a) < excess f u \<and> (\<forall>v. (u, v) \<in> cfE_of f \<longrightarrow> l u \<noteq> l v + 1)"
that: shows "x \<le> UCAST('b \<rightarrow> 'a) (- 1)"
simps_10: fixes t :: "'c local.term"   and u :: "'c local.term"   and v :: "'c local.term" shows "Can \<^bold>\<a>\<^sup>-\<^sup>1\<^bold>[t, u, v\<^bold>] = (Can t \<and> Can u \<and> Can v \<and> Src t = Trg u \<and> Src u = Trg v)"
in_keys_plusI1: fixes t :: "'b"   and p :: "'b \<Rightarrow>\<^sub>0 'c"   and q :: "'b \<Rightarrow>\<^sub>0 'c" assumes "t \<in> keys p"   and "t \<notin> keys q" shows "t \<in> keys (p + q)"
intros: fixes gpv :: "('f, 'd, ('f, 'd, 'e) rpv) generat spmf"   and \<Gamma> :: "('d, 'e) \<I>" assumes "\<And>out c. IO out c \<in> set_spmf gpv \<Longrightarrow> out \<in> outs_\<I> \<Gamma> \<and> (\<forall>input\<in>responses_\<I> \<Gamma> out. \<Gamma> \<turnstile>g c input \<surd>)" shows "\<Gamma> \<turnstile>g GPV gpv \<surd>"
divisor_sigma_0_left_nat: fixes n :: "nat" shows "divisor_sigma 0 n = divisor_count n"
card_mono: fixes B :: "'b set"   and A :: "'b set" assumes "finite B"   and "order.greater_eq B A" shows "order.greater_eq (card B) (card A)"
assms_1: shows "\<not> hb (i, Append i e1) (ir, Delete is e2)"
dom_subset_ran_iff: fixes m :: "'b \<Rightarrow> 'b option" assumes "finite (ran m)" shows "(dom m \<subseteq> ran m) = (dom m = ran m)"
fg: fixes w :: "complex" assumes "w \<in> S" shows "u * w \<in> T"
less_le_trans: fixes y :: "('d, 'e) Term.term"   and x :: "('d, 'e) Term.term"   and z :: "('d, 'e) Term.term" assumes "y \<rhd> x"   and "z \<unrhd> y" shows "z \<rhd> x"
span_empty: shows "V.module.span {} = {\<zero>\<^bsub>V\<^esub>}"
dom_in_domains: fixes f :: "'a" assumes "domains f \<noteq> {}" shows "local.dom f \<in> domains f"
convergence_ext: fixes xs :: "('a \<times> ('a, 'b) operation) list"   and ys :: "('a \<times> ('a, 'b) operation) list"   and s :: "('a \<times> 'b \<times> bool) list" assumes "set xs = set ys"   and "hb.concurrent_ops_commute xs"   and "hb.concurrent_ops_commute ys"   and "distinct xs"   and "distinct ys"   and "hb.hb_consistent xs"   and "hb.hb_consistent ys" shows "hb.apply_operations xs s = hb.apply_operations ys s"
list_two_elements: fixes y :: "'a"   and l :: "'a list"   and x :: "'a" assumes "y \<in> set l"   and "x \<in> set l"   and "length l = Suc 0"   and "y \<noteq> x" shows "False"
take_bit_0: 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 a :: "'b" assumes "class.semiring_bit_shifts plus minus zero times one divide modulo bit push_bit drop_bit take_bit" shows "take_bit 0 a = zero"
sign_bintr: fixes n :: "nat"   and w :: "int" shows "bin_sign (take_bit n w) = 0"
unat_eq_nat_uint: fixes w :: "'d word" shows "unat w = nat (uint w)"
simps_2: fixes i :: "nat"   and xs :: "nat list"   and bezout :: "'b \<Rightarrow> 'b \<Rightarrow> 'b \<times> 'b \<times> 'b \<times> 'b \<times> 'b"   and P :: "(('b, 'c) Finite_Cartesian_Product.vec, 'c) Finite_Cartesian_Product.vec"   and A :: "(('b, 'd) Finite_Cartesian_Product.vec, 'c) Finite_Cartesian_Product.vec"   and Q :: "(('b, 'd) Finite_Cartesian_Product.vec, 'd) Finite_Cartesian_Product.vec" shows "diagonal_to_Smith_aux_PQ (i # xs) bezout (P, A, Q) = diagonal_to_Smith_aux_PQ xs bezout (Diagonal_to_Smith_row_i_PQ i bezout (P, A, Q))"
group_add_axioms_def: fixes minus :: "'a \<Rightarrow> 'a \<Rightarrow> 'a"   and plus :: "'a \<Rightarrow> 'a \<Rightarrow> 'a"   and zero :: "'a"   and uminus :: "'a \<Rightarrow> 'a" shows "class.group_add_axioms minus plus zero uminus \<equiv> (\<forall>a. plus (uminus a) a = zero) \<and> (\<forall>a b. plus a (uminus b) = minus a b)"
while_option_unfold: fixes b :: "'b \<Rightarrow> bool"   and c :: "'b \<Rightarrow> 'b"   and s :: "'b" shows "while_option b c s = (if b s then while_option b c (c s) else Some s)"
image_ring_is_field: fixes f :: "('c multiset \<Rightarrow> 'a) list \<Rightarrow> 'd"   and I :: "('c multiset \<Rightarrow> 'a) list set" assumes "weak_ring_morphism f I (poly_ring L)"   and "field (poly_ring L Quot I)" shows "field (image_ring f (poly_ring L))"
a'': shows "a = action_translation (J (Suc n)) a''"
action_proj_pair: fixes p :: "('d, 'e) fmap"   and e :: "('d, 'f) fmap"   and vs :: "'d set" shows "action_proj (p, e) vs = (fmrestrict_set vs p, fmrestrict_set vs e)"
IH_2: shows "\<guillemotleft>ACI_norm_alt s\<guillemotright> = \<guillemotleft>s\<guillemotright>"
word_diff_ls'_3: fixes y :: "'b word"   and x :: "'b word"   and w :: "'b word" assumes "y - x \<le> w"   and "x \<le> w + x" shows "y \<le> w + x"
Pi_anti_mono: fixes A' :: "'c set"   and A :: "'c set"   and B :: "'c \<Rightarrow> 'd set" assumes "A' \<subseteq> A" shows "Pi A B \<subseteq> Pi A' B"
fun_ord_def: fixes ord :: "'g \<Rightarrow> 'h \<Rightarrow> bool"   and f :: "'i \<Rightarrow> 'g"   and g :: "'i \<Rightarrow> 'h" shows "fun_ord ord f g = (\<forall>x. ord (f x) (g x))"
insert_idem: fixes f :: "'b \<Rightarrow> 'c \<Rightarrow> 'c"   and A :: "'b set"   and z :: "'c"   and x :: "'b" assumes "folding_idem f"   and "finite A" shows "folding.F f z (insert x A) = f x (folding.F f z A)"
H_x_v0_v1_Digraph: assumes "new_last \<noteq> v1" shows "v0_v1_Digraph H_x v0 v1"
sps: shows "subprob_space (f (SOME x. x \<in> A \<and> x \<in> space M))"
parenthesis_impl_tree_path_not_finished: fixes v :: "'v"   and w :: "'v" assumes "v \<in> dom (discovered s)"   and "w \<in> dom (finished s)"   and "\<delta> s v < \<delta> s w"   and "v \<notin> dom (finished s)" shows "(v, w) \<in> (tree_edges s)\<^sup>+"
lemma5_1: fixes r :: "lam"   and r' :: "lam" assumes "r \<rightarrow>\<^sub>l r'" shows "WN r"
mult_cancel_max: fixes s :: "('k \<times> 'k) set"   and X :: "'k multiset"   and Y :: "'k multiset" assumes "trans s"   and "irrefl s" shows "((X, Y) \<in> mult s) = ((X - X \<inter># Y, Y - X \<inter># Y) \<in> mult s)"
\<delta>'_def: shows "\<delta>' = \<delta> \<circ>\<^sub>s \<alpha>"
chine_composite: shows "chine = \<mu>.leg0 \<down>\<down> \<nu>.leg1"
inv_in_hom: fixes f :: "'c"   and a :: "'c"   and b :: "'c" assumes "C.iso f"   and "\<guillemotleft>f : a \<rightarrow>\<^sub>C b\<guillemotright>" shows "\<guillemotleft>C.inv f : b \<rightarrow>\<^sub>C a\<guillemotright>"
minus_set_fold: fixes A :: "'b set"   and xs :: "'b list" shows "A - set xs = fold Set.remove xs A"
ennreal_divide_zero: fixes x :: "ennreal" shows "x / 0 = (if x = 0 then 0 else top)"
cases: fixes x :: "(('t \<Rightarrow>\<^sub>0 'b) list \<times> 't list \<times> (('t \<Rightarrow>\<^sub>0 'b) \<times> ('t \<Rightarrow>\<^sub>0 'b) + nat) list) \<times> nat" obtains bs :: "('t \<Rightarrow>\<^sub>0 'b) list" and ss :: "'t list" and z :: "nat" where "x = ((bs__, ss__, []), za__)"   | bs :: "('t \<Rightarrow>\<^sub>0 'b) list" and ss :: "'t list" and p :: "('t \<Rightarrow>\<^sub>0 'b) \<times> ('t \<Rightarrow>\<^sub>0 'b) + nat" and ps :: "(('t \<Rightarrow>\<^sub>0 'b) \<times> ('t \<Rightarrow>\<^sub>0 'b) + nat) list" and z :: "nat" where "x = ((bs, ss, p # ps), z)"
simps_30: fixes f1 :: "'b \<Rightarrow> 'c \<Rightarrow> 'c \<Rightarrow> 'a"   and f2 :: "nat \<Rightarrow> 'b \<Rightarrow> 'b \<Rightarrow> 'c \<Rightarrow> 'c \<Rightarrow> 'd \<Rightarrow> 'a"   and f3 :: "nat \<Rightarrow> 'b \<Rightarrow> 'b \<Rightarrow> 'c \<Rightarrow> 'c \<Rightarrow> 'd \<Rightarrow> 'a"   and f4 :: "'b \<Rightarrow> 'a"   and f5 :: "nat \<Rightarrow> 'b \<Rightarrow> 'b \<Rightarrow> 'a"   and x51 :: "nat"   and x52 :: "'b"   and x53 :: "'b" shows "(case RecvMarker x51 x52 x53 of Trans x xa xb \<Rightarrow> f1 x xa xb | Send x xa xb xc xd xe \<Rightarrow> f2 x xa xb xc xd xe | Recv x xa xb xc xd xe \<Rightarrow> f3 x xa xb xc xd xe | Snapshot x \<Rightarrow> f4 x | RecvMarker x xa xb \<Rightarrow> f5 x xa xb) = f5 x51 x52 x53"
assms_2: shows "\<forall>i\<in>Basis. a \<bullet> i < b \<bullet> i"
trancl_trans: fixes x :: "'e"   and y :: "'e"   and r :: "('e \<times> 'e) set"   and z :: "'e" assumes "(x, y) \<in> r\<^sup>+"   and "(y, z) \<in> r\<^sup>+" shows "(x, z) \<in> r\<^sup>+"
homotopy_equivalence_reduced_homology_group_isomorphism: fixes X :: "'c topology"   and Y :: "'d topology"   and f :: "'c \<Rightarrow> 'd"   and g :: "'d \<Rightarrow> 'c"   and p :: "int" assumes "continuous_map X Y f"   and "continuous_map Y X g"   and "homotopic_with (\<lambda>h. True) X X (g \<circ> f) id"   and "homotopic_with (\<lambda>k. True) Y Y (f \<circ> g) id" shows "hom_induced p X {} Y {} f \<in> Group.iso (reduced_homology_group p X) (reduced_homology_group p Y)"
distinct_197: fixes x81 :: "Syntax.term"   and x82 :: "Syntax.var"   and x83 :: "Syntax.term"   and x91 :: "Syntax.term"   and x92 :: "Syntax.term" shows "Syntax.Let x81 x82 x83 \<noteq> App x91 x92"
disj_CSP1: fixes P :: "('c, 'd) alpha_rp_scheme \<times> ('c, 'd) alpha_rp_scheme \<Rightarrow> bool"   and Q :: "('c, 'd) alpha_rp_scheme \<times> ('c, 'd) alpha_rp_scheme \<Rightarrow> bool" assumes "P is CSP1 healthy"   and "Q is CSP1 healthy" shows "P \<or> Q is CSP1 healthy"
Goal: fixes xveca :: "name list"   and Na :: "'a"   and Pa :: "('a, 'b, 'c) psi" assumes "\<Psi> \<rhd> M\<lparr>\<lambda>*xveca Na\<rparr>.Pa \<longmapsto> \<alpha> \<prec> P'"   and "xveca \<sharp>* \<Psi>"   and "xveca \<sharp>* M"   and "xveca \<sharp>* \<alpha>"   and "xveca \<sharp>* P'"   and "distinct xveca"   and "\<And>K Tvec. \<lbrakk>\<Psi> \<turnstile> M \<leftrightarrow> K; set xveca \<subseteq> supp Na; length xveca = length Tvec; distinct xveca; \<alpha> = K\<lparr>Na[xveca::=Tvec]\<rparr>; P' = Pa[xveca::=Tvec]\<rbrakk> \<Longrightarrow> Prop (K\<lparr>Na[xveca::=Tvec]\<rparr>) (Pa[xveca::=Tvec])" shows "Prop \<alpha> P'"
obs_intra_postdominate: fixes n :: "'node"   and n' :: "'node"   and S :: "'node SDG_node set" assumes "n \<in> obs_intra n' \<lfloor>HRB_slice S\<rfloor>\<^bsub>CFG\<^esub>"   and "\<not> method_exit n" shows "n postdominates n'"
tseytin_untran: fixes \<A> :: "'a \<Rightarrow> bool"   and F :: "'a formula" assumes "\<A> \<Turnstile> tseytin_tran F" shows "\<A> \<Turnstile> F"
lt_gr: fixes p :: "'t \<Rightarrow>\<^sub>0 'c"   and s :: "'t"   and t :: "'t" assumes "lookup p s \<noteq> (0::'c)"   and "t \<prec>\<^sub>t s" shows "t \<prec>\<^sub>t lt p"
transpose_row_code: fixes A :: "(('e, 'f) vec, 'd) vec"   and i :: "'f" shows "($) (transpose_row A i) = (\<lambda>j. A $ j $ i)"
gcd_of_int_gauss_int: fixes a :: "int"   and b :: "int" shows "gcd (of_int a) (of_int b) = of_int (gcd a b)"
prems_2: shows "\<forall>i\<in>set (map fst xs). i < oid"
filter_min_distinct: fixes rel :: "'c \<Rightarrow> 'c \<Rightarrow> bool"   and xs :: "'c list" assumes "reflp rel" shows "distinct (filter_min rel xs)"
irreducible\<^sub>dI2: fixes p :: "'a poly" assumes "0 < degree p"   and "\<And>q. \<lbrakk>0 < degree q; degree q \<le> degree p div 2\<rbrakk> \<Longrightarrow> \<not> q dvd p" shows "irreducible\<^sub>d p"
a_rcos_assoc_lcos: fixes G :: "('c, 'd) ring_scheme"   and H :: "'c set"   and K :: "'c set"   and x :: "'c" assumes "abelian_group G"   and "H \<subseteq> carrier G"   and "K \<subseteq> carrier G"   and "x \<in> carrier G" shows "H +>\<^bsub>G\<^esub> x <+>\<^bsub>G\<^esub> K = H <+>\<^bsub>G\<^esub> (x <+\<^bsub>G\<^esub> K)"
elims: fixes x :: "'b \<Rightarrow> 'b \<Rightarrow> bool"   and xa :: "'b list"   and y :: "'b list list" assumes "group_by x xa = y" obtains f :: "'b \<Rightarrow> 'b \<Rightarrow> bool" where "x = fa__" and "xa = []" and "y = []"   | f :: "'b \<Rightarrow> 'b \<Rightarrow> bool" and h :: "'b" and t :: "'b list" where "x = f" and "xa = h # t" and "y = (let group = takeWhile (f h) t; dropped = drop (length group) t in (h # group) # group_by f dropped)"
good_item_simps_45: fixes inp :: "'a \<Rightarrow> ('a, 'b, 'varSort, 'var, 'c) qTerm set option"   and binpa :: "'b \<Rightarrow> ('a, 'b, 'varSort, 'var, 'c) qAbs set option"   and rhoa :: "'varSort \<Rightarrow> 'var \<Rightarrow> ('a, 'b, 'varSort, 'var, 'c) qTerm set option"   and delta :: "'c" assumes "goodInp inp"   and "goodBinp binpa"   and "goodEnv rhoa" shows "Op delta inp binpa #[rhoa] = Op delta inp %[rhoa] binpa %%[rhoa]"
eq\<^sub>L: shows "equal_class.equal \<equiv> local.ltln\<^sub>L_eq_test"
pwd_owner_iv_rel: fixes n :: "nat" assumes "n \<in> bad_prikey \<inter> bad_id_shakey" shows "s\<^sub>0 \<Turnstile> fst (pwd_owner_iv n)"
VUnion_vdoubleton: fixes a :: "V"   and b :: "V" shows "\<Union>\<^sub>\<circ> (set {a, b}) = a \<union>\<^sub>\<circ> b"
mismatchNil: fixes a :: "name"   and P :: "pi" shows "[a\<noteq>a]P \<sim>\<^sup>s \<zero>"
setops\<^sub>s\<^sub>s\<^sub>t_cons: fixes a :: "('d, 'e) stateful_strand_step"   and A :: "('d, 'e) stateful_strand_step list" shows "setops\<^sub>s\<^sub>s\<^sub>t (a # A) = setops\<^sub>s\<^sub>s\<^sub>t\<^sub>p a \<union> setops\<^sub>s\<^sub>s\<^sub>t A"
fst1: fixes P :: "'a trm"   and P' :: "'a trm" assumes "P \<rightarrow>\<beta> P'" shows "Fst P \<rightarrow>\<beta> Fst P'"
strict_order_iff: fixes a :: "'a"   and b :: "'a" shows "(a \<sqsubset> b) = (a = min a b \<and> a \<noteq> b)"
int_of_rat_1: fixes x :: "int" shows "int_of_rat (rat_of_int x) = x"
bitfield_op_twice: fixes x :: "'b word"   and n :: "nat"   and m :: "nat"   and y :: "'b word" shows "(x AND NOT (mask n << m) OR (y AND mask n << m)) AND NOT (mask n << m) = x AND NOT (mask n << m)"
WTrt_binopI_1: fixes P :: "'b prog"   and T1 :: "ty"   and T2 :: "ty" shows "P \<turnstile> T1\<guillemotleft>Eq\<guillemotright>T2 : Boolean"
minus_divide_le_eq: fixes divide :: "'b \<Rightarrow> 'b \<Rightarrow> 'b"   and inverse :: "'b \<Rightarrow> 'b"   and times :: "'b \<Rightarrow> 'b \<Rightarrow> 'b"   and one :: "'b"   and plus :: "'b \<Rightarrow> 'b \<Rightarrow> 'b"   and zero :: "'b"   and minus :: "'b \<Rightarrow> 'b \<Rightarrow> 'b"   and uminus :: "'b \<Rightarrow> 'b"   and less_eq :: "'b \<Rightarrow> 'b \<Rightarrow> bool"   and less :: "'b \<Rightarrow> 'b \<Rightarrow> bool"   and sgn :: "'b \<Rightarrow> 'b"   and abs :: "'b \<Rightarrow> 'b"   and b :: "'b"   and c :: "'b"   and a :: "'b" assumes "class.linordered_field divide inverse times one plus zero minus uminus less_eq less sgn abs" shows "less_eq (uminus (divide b c)) a = (if less zero c then less_eq (uminus b) (times a c) else if less c zero then less_eq (times a c) (uminus b) else less_eq zero a)"
simps: fixes A :: "'d \<Rightarrow> 'e \<Rightarrow> bool"   and C :: "'f \<Rightarrow> 'g \<Rightarrow> bool"   and R :: "'h \<Rightarrow> 'i \<Rightarrow> bool"   and a1 :: "('d, 'f, 'h) gpv"   and a2 :: "('e, 'g, 'i) gpv" shows "rel_gpv'' A C R a1 a2 = (\<exists>gpv gpv'. a1 = gpv \<and> a2 = gpv' \<and> rel_spmf (rel_generat A C (rel_fun R (rel_gpv'' A C R))) (the_gpv gpv) (the_gpv gpv'))"
d_def: shows "d = map (\<lambda>j. vec n (\<lambda>i. c i j)) [0..<length fs]"
set_subset_Cons: fixes xs :: "'b list"   and x :: "'b" shows "set xs \<subseteq> set (x # xs)"
porder_on_restrictPI: fixes A :: "'b set"   and r :: "'b \<Rightarrow> 'b \<Rightarrow> bool"   and B :: "'b set" assumes "porder_on A r" shows "porder_on (A \<inter> B) (r |` B)"
field_differentiable_within_subset: fixes f :: "'a \<Rightarrow> 'a"   and x :: "'a"   and S :: "'a set"   and T :: "'a set" assumes "f field_differentiable at x within S"   and "T \<subseteq> S" shows "f field_differentiable at x within T"
shows_lines_append: fixes xs :: "'a list"   and r :: "char list"   and s :: "char list" shows "shows_lines xs (r @ s) = shows_lines xs r @ s"
butlastAppend: fixes list1 :: "'b list"   and list2 :: "'b list" shows "butlast (list1 @ list2) = (if list2 = [] then butlast list1 else list1 @ butlast list2)"
domain_subid: fixes x :: "'a" assumes "x \<le> (1::'a)" shows "x \<le> d x"
distinct_fresh_rename_idns: fixes G :: "variable set"   and n :: "nat"   and B :: "Core.term"   and insts :: "((variable \<times> typ) \<times> Core.term) list" assumes "finite G" shows "distinct (fresh_rename_idns n B insts G)"
lesubstep_type_def: fixes A :: "(nat \<times> 'a) set"   and r :: "'a \<Rightarrow> 'a \<Rightarrow> bool"   and B :: "(nat \<times> 'a) set" shows "A {\<sqsubseteq>\<^bsub>r\<^esub>} B \<equiv> \<forall>(p, \<tau>)\<in>A. \<exists>\<tau>'. (p, \<tau>') \<in> B \<and> \<tau> \<sqsubseteq>\<^bsub>r\<^esub> \<tau>'"
CH_range': fixes c :: "'a"   and B :: "'a set" assumes "c \<in> Pdds'.CH B" shows "c \<in> B"
simps_7: fixes c :: "int"   and e :: "MIR.num" shows "minusinf (Gt (CN 0 c e)) = F"
fps_nth_deriv_add: fixes n :: "nat"   and f :: "'a fps"   and g :: "'a fps" shows "fps_nth_deriv n (f + g) = fps_nth_deriv n f + fps_nth_deriv n g"
is_expansion_aux_basis_nonempty: fixes F :: "('b \<times> real) msllist"   and f :: "real \<Rightarrow> real"   and basis :: "(real \<Rightarrow> real) list" assumes "is_expansion_aux F f basis" shows "basis \<noteq> []"
from_nat_into: fixes A :: "'b set"   and n :: "nat" assumes "A \<noteq> {}" shows "from_nat_into A n \<in> A"
T_TAbs: fixes T\<^sub>1 :: "POPLmark.type"   and \<Gamma> :: "binding list"   and t\<^sub>2 :: "trm"   and T\<^sub>2 :: "POPLmark.type" assumes "TVarB T\<^sub>1 \<Colon> \<Gamma> \<turnstile> t\<^sub>2 : T\<^sub>2" shows "\<Gamma> \<turnstile> (\<lambda><:T\<^sub>1. t\<^sub>2) : (\<forall><:T\<^sub>1. T\<^sub>2)"
setcompr_eq_image: fixes f :: "'b::type \<Rightarrow> 'a::type"   and P :: "'b::type \<Rightarrow> bool" shows "{(f::'b::type \<Rightarrow> 'a::type) x |x::'b::type. (P::'b::type \<Rightarrow> bool) x} = f ` {x::'b::type. P x}"
mod_0_imp_dvd: fixes 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 divide :: "'c \<Rightarrow> 'c \<Rightarrow> 'c"   and modulo :: "'c \<Rightarrow> 'c \<Rightarrow> 'c"   and a :: "'c"   and b :: "'c" assumes "class.semiring_modulo plus minus zero times one divide modulo"   and "modulo a b = zero" shows "dvd.dvd times b a"
swap_child_mset: fixes arr1 :: "int \<Rightarrow> 'a"   and l :: "int"   and r :: "int"   and arr2 :: "int \<Rightarrow> 'a"   and c :: "int"   and p :: "int" assumes "arr_mset arr1 l r = arr_mset arr2 l r"   and "c = l_child l p \<or> c = r_child l p"   and "l \<le> p"   and "c < r" shows "arr_mset arr1 l r = arr_mset (swap arr2 p c) l r"
responses_plus_\<I>_Inr: fixes \<I>l :: "('c, 'a) \<I>"   and \<I>r :: "('d, 'b) \<I>"   and y :: "'d" shows "responses_\<I> (\<I>l \<oplus>\<^sub>\<I> \<I>r) (Inr y) = Inr ` responses_\<I> \<I>r y"
Nsub: fixes x :: "int \<times> int"   and y :: "int \<times> int" shows "INum (x -\<^sub>N y) = INum x - INum y"
yun_rel_same_right: fixes f :: "int poly"   and c :: "rat"   and G :: "rat poly"   and g :: "int poly"   and d :: "rat" assumes "yun_rel f c G"   and "yun_rel g d G" shows "f = g"
eval\<^sub>c\<^sub>s_def: fixes F :: "char list \<Rightarrow> 'a list \<Rightarrow> 'a"   and G :: "char list \<Rightarrow> 'a list \<Rightarrow> bool"   and Cs :: "fterm literal set set" shows "eval\<^sub>c\<^sub>s F G Cs = (\<forall>C\<in>Cs. eval\<^sub>c F G C)"
Nset_preTr1: fixes n :: "nat"   and j :: "nat" assumes "0 < n"   and "j \<le> n - Suc 0" shows "j \<noteq> n"
linear: fixes y :: "'d"   and x :: "'d" shows "y \<le> x \<or> x \<le> y"
vintersection_assoc: fixes A :: "V"   and B :: "V"   and C :: "V" shows "A \<inter>\<^sub>\<circ> (B \<inter>\<^sub>\<circ> C) = A \<inter>\<^sub>\<circ> B \<inter>\<^sub>\<circ> C"
assms_2: assumes "\<guillemotleft>f : a \<rightarrow> b\<guillemotright>"   and "local.iso f" shows "T"
comparator_uprod_compare: fixes compare :: "'a compare" shows "comparator (uprod_compare compare)"
\<xi>_in_hhom: shows "\<guillemotleft>\<xi> : trg f \<rightarrow> trg f\<guillemotright>"
last_conv_nth: fixes xs :: "'d list" assumes "xs \<noteq> []" shows "last xs = xs ! (length xs - 1)"
wca_on_def: fixes A :: "'a set"   and f :: "'a set \<Rightarrow> 'a set" shows "wca_on A f = (\<forall>(x, y)\<in>rwp_on A f. \<forall>B\<subseteq>A. x \<in> f B \<and> y \<in> B \<longrightarrow> y \<in> f B)"
concI: fixes u :: "'b list"   and A :: "'b list set"   and v :: "'b list"   and B :: "'b list set" assumes "u \<in> A"   and "v \<in> B" shows "u @ v \<in> A @@ B"
ipPartitioning_helper_opt: fixes ts :: "'a set list"   and ss :: "'a set list" assumes "{} \<notin> set ts"   and "disjoint_list ts"   and "\<Union> (set ss) \<subseteq> \<Union> (set ts)" shows "ipPartition (set ss) (set (partitioning1 ss ts))"
iffs: fixes nodes :: "'a set"   and edges :: "('a \<times> 'b \<times> 'a) set"   and more :: "'c"   and nodes' :: "'a set"   and edges' :: "('a \<times> 'b \<times> 'a) set"   and more' :: "'c" shows "(\<lparr>nodes = nodes, edges = edges, \<dots> = more\<rparr> = \<lparr>nodes = nodes', edges = edges', \<dots> = more'\<rparr>) = (nodes = nodes' \<and> edges = edges' \<and> more = more')"
utp_defs_6: fixes P :: "'b \<Rightarrow> bool"   and Q :: "'b \<Rightarrow> bool" shows "P \<longrightarrow> Q \<equiv> \<lambda>A. P A \<longrightarrow> Q A"
s_le_p: fixes p :: "nat"   and n :: "nat"   and base :: "nat \<Rightarrow> nat"   and upd :: "nat \<Rightarrow> nat"   and s :: "(nat \<Rightarrow> nat) set"   and a :: "nat \<Rightarrow> nat"   and j :: "nat" assumes "kuhn_simplex p n base upd s"   and "a \<in> s" shows "a j \<le> p"
h3: shows "a \<odot>\<^bsub>V\<^esub> v = w"
cscalar_prod_vec_of_basis_enum: fixes \<phi> :: "'a"   and \<psi> :: "'a" shows "vec_of_basis_enum \<phi> \<bullet>c vec_of_basis_enum \<psi> = \<psi> \<bullet>\<^sub>C \<phi>"
pr_ext_agrk_card: fixes evs :: "event list"   and S :: "agent \<times> nat \<times> nat \<Rightarrow> session"   and A :: "msg set"   and U :: "msg set"   and n :: "nat"   and run :: "nat"   and s :: "rat"   and b :: "rat"   and a :: "rat"   and d :: "rat"   and c :: "rat" assumes "(evs, S, A, U) \<in> protocol"   and "NonceS (S (Card n, n, run)) = Some s"   and "IntMapK (S (Card n, n, run)) = Some b"   and "ExtMapK (S (Card n, n, run)) = Some a"   and "IntAgrK (S (Card n, n, run)) = Some d"   and "ExtAgrK (S (Card n, n, run)) = Some (c * (s + a * b))"   and "Pri_AgrK c \<notin> A" shows "Key (sesK (c * d * (s + a * b))) \<notin> A"