src/ZF/Resid/Substitution.ML
changeset 1723 286f9b6370ab
parent 1461 6bcb44e4d6e5
child 1732 38776e927da8
equal deleted inserted replaced
1722:bb326972ede6 1723:286f9b6370ab
   108     "!!n.[|p:nat; u:redexes|]==>  \
   108     "!!n.[|p:nat; u:redexes|]==>  \
   109 \        subst_rec(u,App(b,f,a),p) = App(b,subst_rec(u,f,p),subst_rec(u,a,p))";
   109 \        subst_rec(u,App(b,f,a),p) = App(b,subst_rec(u,f,p),subst_rec(u,a,p))";
   110 by (asm_full_simp_tac (lift_ss) 1);
   110 by (asm_full_simp_tac (lift_ss) 1);
   111 val subst_App = result();
   111 val subst_App = result();
   112 
   112 
   113 fun addsplit ss = (ss setloop (split_tac [expand_if]) 
   113 fun addsplit ss = (ss setloop (split_inside_tac [expand_if]) 
   114                 addsimps [lift_rec_Var,subst_Var]);
   114                 addsimps [lift_rec_Var,subst_Var]);
   115 
   115 
   116 
   116 
   117 goal Substitution.thy  
   117 goal Substitution.thy  
   118     "!!n.u:redexes ==> ALL k:nat.lift_rec(u,k):redexes";
   118     "!!n.u:redexes ==> ALL k:nat.lift_rec(u,k):redexes";