(*proof requires higher-level assumptions or a delaying of hyp_subst_tac*) lemma compE: "\xz : r O s; \x y z. \xz = ; :s; :r\ \ P\ \ P" unfolding relcomp_def by blast
(*nice induction rule*) lemma rtrancl_induct: "\ : r^*;
P(a); \<And>y z. \<lbrakk><a,y> : r^*; <y,z> : r; P(y)\<rbrakk> \<Longrightarrow> P(z) \<rbrakk> \<Longrightarrow> P(b)" (*by induction on this formula*) apply (subgoal_tac "ALL y. = \ P(y)") (*now solve first subgoal: this formula is sufficient*) apply blast (*now do the induction*) apply (erule rtrancl_full_induct) apply blast apply blast done
(*transitivity of transitive closure!! -- by induction.*) lemma trans_rtrancl: "trans(r^*)" apply (rule transI) apply (rule_tac b = z in rtrancl_induct) apply (fast elim: rtrancl_into_rtrancl)+ done
(*elimination of rtrancl -- by induction on a special formula*) lemma rtranclE: "\ : r^*; a = b \ P; \y. \ : r^*; : r\ \ P\ \ P" apply (subgoal_tac "a = b | (EX y. : r^* \ : r)") prefer 2 apply (erule rtrancl_induct) apply blast apply blast apply blast done
subsection \<open>The relation trancl\<close>
subsubsection \<open>Conversions between trancl and rtrancl\<close>
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.