src/HOL/Unix/Unix.thy
changeset 47175 6b906beec36f
parent 47099 56adbf5bcc82
child 47215 ca516aa5b6ce
equal deleted inserted replaced
47174:b9b2e183e94d 47175:6b906beec36f
   556   iterated transitions.  The proof is rather obvious by rule induction
   556   iterated transitions.  The proof is rather obvious by rule induction
   557   over the definition of @{term "root =xs\<Rightarrow> root'"}.
   557   over the definition of @{term "root =xs\<Rightarrow> root'"}.
   558 *}
   558 *}
   559 
   559 
   560 lemma transitions_invariant:
   560 lemma transitions_invariant:
   561   assumes r: "\<And>r x r'. r \<midarrow>x\<rightarrow> r' \<Longrightarrow> Q r \<Longrightarrow>  P x \<Longrightarrow> Q r'"
   561   assumes r: "\<And>r x r'. r \<midarrow>x\<rightarrow> r' \<Longrightarrow> Q r \<Longrightarrow> P x \<Longrightarrow> Q r'"
   562     and trans: "root =xs\<Rightarrow> root'"
   562     and trans: "root =xs\<Rightarrow> root'"
   563   shows "Q root \<Longrightarrow> \<forall>x \<in> set xs. P x \<Longrightarrow> Q root'"
   563   shows "Q root \<Longrightarrow> \<forall>x \<in> set xs. P x \<Longrightarrow> Q root'"
   564   using trans
   564   using trans
   565 proof induct
   565 proof induct
   566   case nil
   566   case nil