# HG changeset patch # User paulson # Date 1596715643 -3600 # Node ID 496cfe488d721ca9c9a3acd5a53ff9746b38e0c8 # Parent 6b5421bd0fc365340f7e2b80c2b32255167a6e4c a few more lemmas diff -r 6b5421bd0fc3 -r 496cfe488d72 src/HOL/Finite_Set.thy --- a/src/HOL/Finite_Set.thy Wed Aug 05 21:03:31 2020 +0100 +++ b/src/HOL/Finite_Set.thy Thu Aug 06 13:07:23 2020 +0100 @@ -1280,6 +1280,28 @@ lemma SUP_fold_sup: "finite A \ \(f ` A) = fold (sup \ f) bot A" using sup_SUP_fold_sup [of A bot] by simp +lemma finite_Inf_in: + assumes "finite A" "A\{}" and inf: "\x y. \x \ A; y \ A\ \ inf x y \ A" + shows "Inf A \ A" +proof - + have "Inf B \ A" if "B \ A" "B\{}" for B + using finite_subset [OF \B \ A\ \finite A\] that + by (induction B) (use inf in \force+\) + then show ?thesis + by (simp add: assms) +qed + +lemma finite_Sup_in: + assumes "finite A" "A\{}" and sup: "\x y. \x \ A; y \ A\ \ sup x y \ A" + shows "Sup A \ A" +proof - + have "Sup B \ A" if "B \ A" "B\{}" for B + using finite_subset [OF \B \ A\ \finite A\] that + by (induction B) (use sup in \force+\) + then show ?thesis + by (simp add: assms) +qed + end diff -r 6b5421bd0fc3 -r 496cfe488d72 src/HOL/Fun_Def.thy --- a/src/HOL/Fun_Def.thy Wed Aug 05 21:03:31 2020 +0100 +++ b/src/HOL/Fun_Def.thy Thu Aug 06 13:07:23 2020 +0100 @@ -217,6 +217,9 @@ and pair_lessI2: "a \ b \ s < t \ ((a, s), (b, t)) \ pair_less" by (auto simp: pair_leq_def pair_less_def) +lemma pair_less_iff1 [simp]: "((x,y), (x,z)) \ pair_less \ yIntroduction rules for max\ lemma smax_emptyI: "finite Y \ Y \ {} \ ({}, Y) \ max_strict" and smax_insertI: diff -r 6b5421bd0fc3 -r 496cfe488d72 src/HOL/Library/Infinite_Set.thy --- a/src/HOL/Library/Infinite_Set.thy Wed Aug 05 21:03:31 2020 +0100 +++ b/src/HOL/Library/Infinite_Set.thy Thu Aug 06 13:07:23 2020 +0100 @@ -363,6 +363,13 @@ unfolding bij_betw_def by (auto intro: enumerate_in_set) qed +lemma + fixes S :: "nat set" + assumes S: "infinite S" + shows range_enumerate: "range (enumerate S) = S" + and strict_mono_enumerate: "strict_mono (enumerate S)" + by (auto simp add: bij_betw_imp_surj_on bij_enumerate assms strict_mono_def) + text \A pair of weird and wonderful lemmas from HOL Light.\ lemma finite_transitivity_chain: assumes "finite A"