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