diff -r e44d86131648 -r 0c18df79b1c8 src/ZF/Constructible/Rank_Separation.thy --- a/src/ZF/Constructible/Rank_Separation.thy Tue Sep 27 16:51:35 2022 +0100 +++ b/src/ZF/Constructible/Rank_Separation.thy Tue Sep 27 17:03:23 2022 +0100 @@ -18,15 +18,15 @@ lemma well_ord_iso_Reflects: "REFLECTS[\x. x\A \ - (\y[L]. \p[L]. fun_apply(L,f,x,y) & pair(L,y,x,p) & p \ r), + (\y[L]. \p[L]. fun_apply(L,f,x,y) \ pair(L,y,x,p) \ p \ r), \i x. x\A \ (\y \ Lset(i). \p \ Lset(i). - fun_apply(##Lset(i),f,x,y) & pair(##Lset(i),y,x,p) & p \ r)]" + fun_apply(##Lset(i),f,x,y) \ pair(##Lset(i),y,x,p) \ p \ r)]" by (intro FOL_reflections function_reflections) lemma well_ord_iso_separation: "\L(A); L(f); L(r)\ \ separation (L, \x. x\A \ (\y[L]. (\p[L]. - fun_apply(L,f,x,y) & pair(L,y,x,p) & p \ r)))" + fun_apply(L,f,x,y) \ pair(L,y,x,p) \ p \ r)))" apply (rule gen_separation_multi [OF well_ord_iso_Reflects, of "{A,f,r}"], auto) apply (rule_tac env="[A,f,r]" in DPow_LsetI) @@ -38,10 +38,10 @@ lemma obase_reflects: "REFLECTS[\a. \x[L]. \g[L]. \mx[L]. \par[L]. - ordinal(L,x) & membership(L,x,mx) & pred_set(L,A,a,r,par) & + ordinal(L,x) \ membership(L,x,mx) \ pred_set(L,A,a,r,par) \ order_isomorphism(L,par,r,x,mx,g), \i a. \x \ Lset(i). \g \ Lset(i). \mx \ Lset(i). \par \ Lset(i). - ordinal(##Lset(i),x) & membership(##Lset(i),x,mx) & pred_set(##Lset(i),A,a,r,par) & + ordinal(##Lset(i),x) \ membership(##Lset(i),x,mx) \ pred_set(##Lset(i),A,a,r,par) \ order_isomorphism(##Lset(i),par,r,x,mx,g)]" by (intro FOL_reflections function_reflections fun_plus_reflections) @@ -49,7 +49,7 @@ \ \part of the order type formalization\ "\L(A); L(r)\ \ separation(L, \a. \x[L]. \g[L]. \mx[L]. \par[L]. - ordinal(L,x) & membership(L,x,mx) & pred_set(L,A,a,r,par) & + ordinal(L,x) \ membership(L,x,mx) \ pred_set(L,A,a,r,par) \ order_isomorphism(L,par,r,x,mx,g))" apply (rule gen_separation_multi [OF obase_reflects, of "{A,r}"], auto) apply (rule_tac env="[A,r]" in DPow_LsetI) @@ -61,20 +61,20 @@ lemma obase_equals_reflects: "REFLECTS[\x. x\A \ \(\y[L]. \g[L]. - ordinal(L,y) & (\my[L]. \pxr[L]. - membership(L,y,my) & pred_set(L,A,x,r,pxr) & + ordinal(L,y) \ (\my[L]. \pxr[L]. + membership(L,y,my) \ pred_set(L,A,x,r,pxr) \ order_isomorphism(L,pxr,r,y,my,g))), \i x. x\A \ \(\y \ Lset(i). \g \ Lset(i). - ordinal(##Lset(i),y) & (\my \ Lset(i). \pxr \ Lset(i). - membership(##Lset(i),y,my) & pred_set(##Lset(i),A,x,r,pxr) & + ordinal(##Lset(i),y) \ (\my \ Lset(i). \pxr \ Lset(i). + membership(##Lset(i),y,my) \ pred_set(##Lset(i),A,x,r,pxr) \ order_isomorphism(##Lset(i),pxr,r,y,my,g)))]" by (intro FOL_reflections function_reflections fun_plus_reflections) lemma obase_equals_separation: "\L(A); L(r)\ \ separation (L, \x. x\A \ \(\y[L]. \g[L]. - ordinal(L,y) & (\my[L]. \pxr[L]. - membership(L,y,my) & pred_set(L,A,x,r,pxr) & + ordinal(L,y) \ (\my[L]. \pxr[L]. + membership(L,y,my) \ pred_set(L,A,x,r,pxr) \ order_isomorphism(L,pxr,r,y,my,g))))" apply (rule gen_separation_multi [OF obase_equals_reflects, of "{A,r}"], auto) apply (rule_tac env="[A,r]" in DPow_LsetI) @@ -85,13 +85,13 @@ subsubsection\Replacement for \<^term>\omap\\ lemma omap_reflects: - "REFLECTS[\z. \a[L]. a\B & (\x[L]. \g[L]. \mx[L]. \par[L]. - ordinal(L,x) & pair(L,a,x,z) & membership(L,x,mx) & - pred_set(L,A,a,r,par) & order_isomorphism(L,par,r,x,mx,g)), - \i z. \a \ Lset(i). a\B & (\x \ Lset(i). \g \ Lset(i). \mx \ Lset(i). + "REFLECTS[\z. \a[L]. a\B \ (\x[L]. \g[L]. \mx[L]. \par[L]. + ordinal(L,x) \ pair(L,a,x,z) \ membership(L,x,mx) \ + pred_set(L,A,a,r,par) \ order_isomorphism(L,par,r,x,mx,g)), + \i z. \a \ Lset(i). a\B \ (\x \ Lset(i). \g \ Lset(i). \mx \ Lset(i). \par \ Lset(i). - ordinal(##Lset(i),x) & pair(##Lset(i),a,x,z) & - membership(##Lset(i),x,mx) & pred_set(##Lset(i),A,a,r,par) & + ordinal(##Lset(i),x) \ pair(##Lset(i),a,x,z) \ + membership(##Lset(i),x,mx) \ pred_set(##Lset(i),A,a,r,par) \ order_isomorphism(##Lset(i),par,r,x,mx,g))]" by (intro FOL_reflections function_reflections fun_plus_reflections) @@ -99,8 +99,8 @@ "\L(A); L(r)\ \ strong_replacement(L, \a z. \x[L]. \g[L]. \mx[L]. \par[L]. - ordinal(L,x) & pair(L,a,x,z) & membership(L,x,mx) & - pred_set(L,A,a,r,par) & order_isomorphism(L,par,r,x,mx,g))" + ordinal(L,x) \ pair(L,a,x,z) \ membership(L,x,mx) \ + pred_set(L,A,a,r,par) \ order_isomorphism(L,par,r,x,mx,g))" apply (rule strong_replacementI) apply (rule_tac u="{A,r,B}" in gen_separation_multi [OF omap_reflects], auto) apply (rule_tac env="[A,B,r]" in DPow_LsetI) @@ -153,15 +153,15 @@ subsubsection\Replacement for \<^term>\wfrank\\ lemma wfrank_replacement_Reflects: - "REFLECTS[\z. \x[L]. x \ A & + "REFLECTS[\z. \x[L]. x \ A \ (\rplus[L]. tran_closure(L,r,rplus) \ - (\y[L]. \f[L]. pair(L,x,y,z) & - M_is_recfun(L, %x f y. is_range(L,f,y), rplus, x, f) & + (\y[L]. \f[L]. pair(L,x,y,z) \ + M_is_recfun(L, %x f y. is_range(L,f,y), rplus, x, f) \ is_range(L,f,y))), - \i z. \x \ Lset(i). x \ A & + \i z. \x \ Lset(i). x \ A \ (\rplus \ Lset(i). tran_closure(##Lset(i),r,rplus) \ - (\y \ Lset(i). \f \ Lset(i). pair(##Lset(i),x,y,z) & - M_is_recfun(##Lset(i), %x f y. is_range(##Lset(i),f,y), rplus, x, f) & + (\y \ Lset(i). \f \ Lset(i). pair(##Lset(i),x,y,z) \ + M_is_recfun(##Lset(i), %x f y. is_range(##Lset(i),f,y), rplus, x, f) \ is_range(##Lset(i),f,y)))]" by (intro FOL_reflections function_reflections fun_plus_reflections is_recfun_reflection tran_closure_reflection) @@ -170,8 +170,8 @@ "L(r) \ strong_replacement(L, \x z. \rplus[L]. tran_closure(L,r,rplus) \ - (\y[L]. \f[L]. pair(L,x,y,z) & - M_is_recfun(L, %x f y. is_range(L,f,y), rplus, x, f) & + (\y[L]. \f[L]. pair(L,x,y,z) \ + M_is_recfun(L, %x f y. is_range(L,f,y), rplus, x, f) \ is_range(L,f,y)))" apply (rule strong_replacementI) apply (rule_tac u="{r,B}"