diff -r 8f51702e1f2e -r 52730e5ec8cb Nominal/GPerm.thy --- a/Nominal/GPerm.thy Wed May 23 23:57:27 2012 +0100 +++ b/Nominal/GPerm.thy Thu May 24 10:17:32 2012 +0200 @@ -36,12 +36,12 @@ by (metis valid_perm_def image_set length_map len_set_eq_distinct) definition - perm_eq :: "('a \ 'a) list \ ('a \ 'a) list \ bool" (infix "\" 50) + perm_eq :: "('a \ 'a) list \ ('a \ 'a) list \ bool" where - "x \ y \ valid_perm x \ valid_perm y \ (perm_apply x = perm_apply y)" + "perm_eq x y \ valid_perm x \ valid_perm y \ (perm_apply x = perm_apply y)" lemma perm_eq_sym[sym]: - "x \ y \ y \ x" + "perm_eq x y \ perm_eq y x" by (auto simp add: perm_eq_def) lemma perm_eq_equivp: @@ -159,7 +159,7 @@ by (metis uminus_perm_raw_def) lemma uminus_perm_raw_rsp[simp]: - "x \ y \ map swap_pair x \ map swap_pair y" + "perm_eq x y \ perm_eq (map swap_pair x) (map swap_pair y)" by (auto simp add: fun_eq_iff perm_apply_minus[symmetric] perm_eq_def) lemma fst_snd_map_pair[simp]: @@ -233,11 +233,11 @@ done lemma perm_add_raw_rsp[simp]: - "x \ y \ xa \ ya \ perm_add_raw x xa \ perm_add_raw y ya" + "perm_eq x y \ perm_eq xa ya \ perm_eq (perm_add_raw x xa) (perm_add_raw y ya)" by (simp add: fun_eq_iff perm_add_apply perm_eq_def) lemma [simp]: - "a \ a \ valid_perm a" + "perm_eq a a \ valid_perm a" by (simp_all add: perm_eq_def) instantiation gperm :: (type) group_add @@ -276,7 +276,7 @@ by (induct y) (auto split: if_splits) lemma perm_eq_not_eq_same: - "x \ y \ {xa \ set x. fst xa \ snd xa} = {x \ set y. fst x \ snd x}" + "perm_eq x y \ {xa \ set x. fst xa \ snd xa} = {x \ set y. fst x \ snd x}" unfolding perm_eq_def set_eq_iff apply auto apply (subgoal_tac "perm_apply x a = b") @@ -315,7 +315,7 @@ by (metis in_set_in_dpr2 pair_perm_apply perm_apply_in_set valid_perm_def) lemma dest_perm_raw_eq[simp]: - "valid_perm x \ valid_perm y \ (dest_perm_raw x = dest_perm_raw y) = (x \ y)" + "valid_perm x \ valid_perm y \ (dest_perm_raw x = dest_perm_raw y) = perm_eq x y" apply (auto simp add: perm_eq_def) apply (metis in_set_in_dpr3 fun_eq_iff) unfolding dest_perm_raw_def @@ -371,8 +371,8 @@ by simp (rule sorted_sort_id[OF sorted_sort]) lemma valid_dest_perm_raw_eq[simp]: - "valid_perm p \ dest_perm_raw p \ p" - "valid_perm p \ p \ dest_perm_raw p" + "valid_perm p \ perm_eq (dest_perm_raw p) p" + "valid_perm p \ perm_eq p (dest_perm_raw p)" by (simp_all add: dest_perm_raw_eq[symmetric]) lemma mk_perm_dest_perm[code abstype]: