Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
theory Swap = Main: consts swapa :: "(string \ string) \ string \ string" swapas :: "(string \ string)list \ string \ string" primrec "swapa (b,c) a = (if b = a then c else (if c = a then b else a))" primrec "swapas [] a = a" "swapas (x#pi) a = swapa x (swapas pi a)" lemma [simp]: "swapas [(a,a)] b=b" apply(auto) done lemma swapas_append: "swapas (pi1@pi2) a = swapas pi1 (swapas pi2 a)" apply(induct_tac pi1, auto) done lemma swapas_rev_pi_pi[simp]: "swapas (rev pi) (swapas pi a) = a" apply(induct_tac pi) apply(simp_all add: swapas_append, auto) done lemma swapas_rev_pi_a: "swapas pi a = b \ swapas (rev pi) b = a" apply(auto) done lemma [simp]: "swapas pi (swapas (rev pi) a) = a" apply(rule swapas_rev_pi_a[of "(rev pi)" _ _,simplified]) apply(simp) done lemma swapas_rev_pi_b: "swapas (rev pi) a = b \ swapas pi b = a" apply(auto) done lemma swapas_comm: "(swapas (pi@[(a,b)]) c) = (swapas ([(swapas pi a,swapas pi b)]@pi) c)" apply(simp add: swapas_append) apply(auto) apply(drule swapas_rev_pi_a, simp)+ done end