src/ZF/Constructible/Datatype_absolute.thy
changeset 13382 b37764a46b16
parent 13363 c26eeb000470
child 13385 31df66ca0780
equal deleted inserted replaced
13381:60bc63b13857 13382:b37764a46b16
   152 lemma (in M_axioms) list_functor_abs [simp]: 
   152 lemma (in M_axioms) list_functor_abs [simp]: 
   153      "[| M(A); M(X); M(Z) |] ==> is_list_functor(M,A,X,Z) <-> (Z = {0} + A*X)"
   153      "[| M(A); M(X); M(Z) |] ==> is_list_functor(M,A,X,Z) <-> (Z = {0} + A*X)"
   154 by (simp add: is_list_functor_def singleton_0 nat_into_M)
   154 by (simp add: is_list_functor_def singleton_0 nat_into_M)
   155 
   155 
   156 
   156 
   157 locale M_datatypes = M_wfrank +
   157 locale (open) M_datatypes = M_wfrank +
   158  assumes list_replacement1: 
   158  assumes list_replacement1: 
   159    "M(A) ==> iterates_replacement(M, is_list_functor(M,A), 0)"
   159    "M(A) ==> iterates_replacement(M, is_list_functor(M,A), 0)"
   160   and list_replacement2: 
   160   and list_replacement2: 
   161    "M(A) ==> strong_replacement(M, 
   161    "M(A) ==> strong_replacement(M, 
   162          \<lambda>n y. n\<in>nat & 
   162          \<lambda>n y. n\<in>nat &