open tactic meta_definition rewriteH (Hname : name) : tactic unit := do get_local Hname >>= rewrite_core reducible tt occurrences.all ff, try reflexivity example (l : list nat) : list.append l [] = l := by do get_local "l" >>= λ H, induction_core semireducible H ("list" <.> "rec_on") ["h", "t", "iH"], -- unfold ["list" <.> "append"], trace_state, trace "------", reflexivity, unfold ["list" <.> "append"], trace_state, rewriteH "iH"