@@ -115,6 +115,7 @@ data Elab : Type -> Type where
115115 prim__AddInstance : TTName -> TTName -> Elab ()
116116
117117 prim__ResolveTC : TTName -> Elab ()
118+ prim__Search : Int -> List TTName -> Elab ()
118119 prim__RecursiveElab : Raw -> Elab () -> Elab (TT, TT)
119120
120121 prim__Debug : {a : Type} -> Maybe String -> Elab a
@@ -312,6 +313,17 @@ namespace Tactics
312313 resolveTC : (fn : TTName) -> Elab ()
313314 resolveTC fn = prim__ResolveTC fn
314315
316+ ||| Use Idris's internal proof search.
317+ search : Elab ()
318+ search = prim__Search 100 []
319+
320+ ||| Use Idris's internal proof search, with more control.
321+ |||
322+ ||| @ depth the search depth
323+ ||| @ hints additional names to try
324+ search' : (depth : Int) -> (hints : List TTName) -> Elab ()
325+ search' depth hints = prim__Search depth hints
326+
315327 ||| Halt elaboration, dumping the internal state for inspection.
316328 |||
317329 ||| This is intended for elaboration script developers, not for