equal
deleted
inserted
replaced
1031 by (auto simp add: in_fset none_in_empty_fset [symmetric] sym) |
1031 by (auto simp add: in_fset none_in_empty_fset [symmetric] sym) |
1032 next |
1032 next |
1033 case (insert x A) |
1033 case (insert x A) |
1034 from insert.prems insert.hyps(1) have "\<And>z. z \<in> fset A \<longleftrightarrow> z \<in> fset (B - {|x|})" |
1034 from insert.prems insert.hyps(1) have "\<And>z. z \<in> fset A \<longleftrightarrow> z \<in> fset (B - {|x|})" |
1035 by (auto simp add: in_fset) |
1035 by (auto simp add: in_fset) |
1036 then have "A = B - {|x|}" by (rule insert.hyps(2)) |
1036 then have A: "A = B - {|x|}" by (rule insert.hyps(2)) |
1037 moreover with insert.prems [symmetric, of x] have "x |\<in>| B" by (simp add: in_fset) |
1037 with insert.prems [symmetric, of x] have "x |\<in>| B" by (simp add: in_fset) |
1038 ultimately show ?case by (metis in_fset_mdef) |
1038 with A show ?case by (metis in_fset_mdef) |
1039 qed |
1039 qed |
1040 |
1040 |
1041 subsection {* alternate formulation with a different decomposition principle |
1041 subsection {* alternate formulation with a different decomposition principle |
1042 and a proof of equivalence *} |
1042 and a proof of equivalence *} |
1043 |
1043 |