diff -r c15ee153dec1 -r 812ce526da33 src/HOL/Library/FuncSet.thy --- a/src/HOL/Library/FuncSet.thy Wed Mar 20 23:06:51 2019 +0100 +++ b/src/HOL/Library/FuncSet.thy Thu Mar 21 14:18:22 2019 +0000 @@ -550,6 +550,11 @@ lemma PiE_eq_singleton: "(\\<^sub>E i\I. S i) = {\i\I. f i} \ (\i\I. S i = {f i})" by (metis (mono_tags, lifting) PiE_eq PiE_singleton insert_not_empty restrict_apply' restrict_extensional) +lemma PiE_over_singleton_iff: "(\\<^sub>E x\{a}. B x) = (\b \ B a. {\x \ {a}. b})" + apply (auto simp: PiE_iff split: if_split_asm) + apply (metis (no_types, lifting) extensionalityI restrict_apply' restrict_extensional singletonD) + done + lemma all_PiE_elements: "(\z \ PiE I S. \i \ I. P i (z i)) \ PiE I S = {} \ (\i \ I. \x \ S i. P i x)" (is "?lhs = ?rhs") proof (cases "PiE I S = {}")