equal
deleted
inserted
replaced
59 and "inv p (p x) = x" |
59 and "inv p (p x) = x" |
60 using permutes_inv_o[OF permutes, unfolded fun_eq_iff o_def] by auto |
60 using permutes_inv_o[OF permutes, unfolded fun_eq_iff o_def] by auto |
61 |
61 |
62 lemma permutes_subset: "p permutes S \<Longrightarrow> S \<subseteq> T \<Longrightarrow> p permutes T" |
62 lemma permutes_subset: "p permutes S \<Longrightarrow> S \<subseteq> T \<Longrightarrow> p permutes T" |
63 unfolding permutes_def by blast |
63 unfolding permutes_def by blast |
|
64 |
|
65 lemma permutes_imp_permutes_insert: |
|
66 \<open>p permutes insert x S\<close> if \<open>p permutes S\<close> |
|
67 using that by (rule permutes_subset) auto |
64 |
68 |
65 lemma permutes_empty[simp]: "p permutes {} \<longleftrightarrow> p = id" |
69 lemma permutes_empty[simp]: "p permutes {} \<longleftrightarrow> p = id" |
66 by (auto simp add: fun_eq_iff permutes_def) |
70 by (auto simp add: fun_eq_iff permutes_def) |
67 |
71 |
68 lemma permutes_sing[simp]: "p permutes {a} \<longleftrightarrow> p = id" |
72 lemma permutes_sing[simp]: "p permutes {a} \<longleftrightarrow> p = id" |