diff -r 113cee845044 -r fba08009ff3e src/HOL/Finite_Set.thy --- a/src/HOL/Finite_Set.thy Thu Jul 28 20:39:51 2016 +0200 +++ b/src/HOL/Finite_Set.thy Fri Jul 29 09:49:23 2016 +0200 @@ -602,6 +602,33 @@ then show ?case by simp qed +lemma finite_subset_induct' [consumes 2, case_names empty insert]: + assumes "finite F" and "F \ A" + and empty: "P {}" + and insert: "\a F. \finite F; a \ A; F \ A; a \ F; P F \ \ P (insert a F)" + shows "P F" +proof - + from \finite F\ + have "F \ A \ ?thesis" + proof induct + show "P {}" by fact + next + fix x F + assume "finite F" and "x \ F" and + P: "F \ A \ P F" and i: "insert x F \ A" + show "P (insert x F)" + proof (rule insert) + from i show "x \ A" by blast + from i have "F \ A" by blast + with P show "P F" . + show "finite F" by fact + show "x \ F" by fact + show "F \ A" by fact + qed + qed + with \F \ A\ show ?thesis by blast +qed + subsection \Class \finite\\