equal
deleted
inserted
replaced
589 root =xs\<Rightarrow> root' \<Longrightarrow> Q root \<Longrightarrow> \<forall>x \<in> set xs. P x \<Longrightarrow> Q root'" |
589 root =xs\<Rightarrow> root' \<Longrightarrow> Q root \<Longrightarrow> \<forall>x \<in> set xs. P x \<Longrightarrow> Q root'" |
590 proof - |
590 proof - |
591 assume r: "\<And>r x r'. r \<midarrow>x\<rightarrow> r' \<Longrightarrow> Q r \<Longrightarrow> P x \<Longrightarrow> Q r'" |
591 assume r: "\<And>r x r'. r \<midarrow>x\<rightarrow> r' \<Longrightarrow> Q r \<Longrightarrow> P x \<Longrightarrow> Q r'" |
592 assume "root =xs\<Rightarrow> root'" |
592 assume "root =xs\<Rightarrow> root'" |
593 thus "Q root \<Longrightarrow> (\<forall>x \<in> set xs. P x) \<Longrightarrow> Q root'" (is "PROP ?P root xs root'") |
593 thus "Q root \<Longrightarrow> (\<forall>x \<in> set xs. P x) \<Longrightarrow> Q root'" (is "PROP ?P root xs root'") |
594 proof (induct ?P root xs root') |
594 proof (induct root xs root') |
595 fix root assume "Q root" |
595 fix root assume "Q root" |
596 thus "Q root" . |
596 thus "Q root" . |
597 next |
597 next |
598 fix root root' root'' and x xs |
598 fix root root' root'' and x xs |
599 assume root': "root \<midarrow>x\<rightarrow> root'" |
599 assume root': "root \<midarrow>x\<rightarrow> root'" |