equal
deleted
inserted
replaced
207 |> Tactic.rule_by_tactic ctxt |
207 |> Tactic.rule_by_tactic ctxt |
208 (Simplifier.simp_tac (put_simpset curry_uncurry_ss ctxt) 4 |
208 (Simplifier.simp_tac (put_simpset curry_uncurry_ss ctxt) 4 |
209 THEN Simplifier.simp_tac (put_simpset curry_uncurry_ss ctxt) 3 |
209 THEN Simplifier.simp_tac (put_simpset curry_uncurry_ss ctxt) 3 |
210 THEN CONVERSION (split_params_conv ctxt |
210 THEN CONVERSION (split_params_conv ctxt |
211 then_conv (Conv.forall_conv (K split_paired_all_conv) ctxt)) 3) |
211 then_conv (Conv.forall_conv (K split_paired_all_conv) ctxt)) 3) |
212 |> Thm.instantiate (TVars.empty, Vars.make [(P_var, P_inst), (x_var, x_inst)]) |
212 |> Thm.instantiate (TVars.empty, Vars.make2 (P_var, P_inst) (x_var, x_inst)) |
213 |> Simplifier.full_simplify (put_simpset split_conv_ss ctxt) |
213 |> Simplifier.full_simplify (put_simpset split_conv_ss ctxt) |
214 |> singleton (Variable.export ctxt' ctxt) |
214 |> singleton (Variable.export ctxt' ctxt) |
215 in |
215 in |
216 inst_rule' |
216 inst_rule' |
217 end; |
217 end; |