the proofs with eqvt_at
authorChristian Urban <urbanc@in.tum.de>
Thu, 27 Jan 2011 04:24:17 +0100
changeset 2708 5964c84ece5d
parent 2707 747ebf2f066d
child 2709 eb4a2f4078ae
the proofs with eqvt_at
Nominal/Nominal2_Base.thy
--- a/Nominal/Nominal2_Base.thy	Tue Jan 25 18:58:26 2011 +0100
+++ b/Nominal/Nominal2_Base.thy	Thu Jan 27 04:24:17 2011 +0100
@@ -1361,6 +1361,20 @@
   apply(rule THE_defaultI'[OF unique])
   done
 
+lemma fundef_ex1_eqvt2:
+  fixes x::"'a::pt"
+  assumes f_def: "f == (\<lambda>x::'a. THE_default d (G x))"
+  assumes eqvt: "eqvt_at G x"
+  assumes ex1: "\<exists>!y. G x y"
+  shows "(p \<bullet> (f x)) = f (p \<bullet> x)"
+  apply(simp only: f_def)
+  apply(subst the_default_eqvt)
+  apply(rule ex1)
+  using eqvt
+  unfolding eqvt_at_def
+  apply(simp)
+  done
+
 lemma fundef_ex1_eqvt:
   fixes x::"'a::pt"
   assumes f_def: "f == (\<lambda>x::'a. THE_default d (G x))"
@@ -1375,6 +1389,16 @@
   apply(simp add: permute_fun_app_eq)
   done
 
+lemma fundef_ex1_eqvt_at2:
+  fixes x::"'a::pt"
+  assumes f_def: "f == (\<lambda>x::'a. THE_default d (G x))"
+  assumes eqvt: "eqvt_at G x"
+  assumes ex1: "\<exists>!y. G x y"
+  shows "eqvt_at f x"
+  unfolding eqvt_at_def
+  using assms
+  by (auto intro: fundef_ex1_eqvt2)
+
 lemma fundef_ex1_eqvt_at:
   fixes x::"'a::pt"
   assumes f_def: "f == (\<lambda>x::'a. THE_default d (G x))"
@@ -1385,7 +1409,6 @@
   using assms
   by (auto intro: fundef_ex1_eqvt)
 
-
 section {* Support of Finite Sets of Finitely Supported Elements *}
 
 text {* support and freshness for atom sets *}