src/HOL/Library/Coinductive_List.thy
changeset 20503 503ac4c5ef91
parent 19086 1b3780be6cc2
child 20770 2c583720436e
equal deleted inserted replaced
20502:08d227db6c74 20503:503ac4c5ef91
   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')