equal
deleted
inserted
replaced
291 by (fast intro!: EqLList.intros [unfolded NIL_def CONS_def] |
291 by (fast intro!: EqLList.intros [unfolded NIL_def CONS_def] |
292 elim: EqLList.cases [unfolded NIL_def CONS_def]) |
292 elim: EqLList.cases [unfolded NIL_def CONS_def]) |
293 |
293 |
294 lemma EqLList_implies_ntrunc_equality: |
294 lemma EqLList_implies_ntrunc_equality: |
295 "(M, N) \<in> EqLList (diag A) \<Longrightarrow> ntrunc k M = ntrunc k N" |
295 "(M, N) \<in> EqLList (diag A) \<Longrightarrow> ntrunc k M = ntrunc k N" |
296 apply (induct k fixing: M N rule: nat_less_induct) |
296 apply (induct k arbitrary: M N rule: nat_less_induct) |
297 apply (erule EqLList.cases) |
297 apply (erule EqLList.cases) |
298 apply (safe del: equalityI) |
298 apply (safe del: equalityI) |
299 apply (case_tac n) |
299 apply (case_tac n) |
300 apply simp |
300 apply simp |
301 apply (rename_tac n') |
301 apply (rename_tac n') |