@@ -189,7 +189,7 @@ prepare_apply fn imps =
189 return claims
189 return claims
191 doClaims (Bind n' (Pi t) sc) (i : is) claims =
191 doClaims (Bind n' (Pi t) sc) (i : is) claims =
192− do n <- unique_hole n'
192+ do n <- unique_hole (mkMN n')
193 when (null claims) (start_unify n)
193 when (null claims) (start_unify n)
194 let sc' = instantiate (P Bound n t) sc
194 let sc' = instantiate (P Bound n t) sc
195 claim n (forget t)
195 claim n (forget t)
@@ -198,6 +198,9 @@ prepare_apply fn imps =
198 doClaims t [] claims = return (reverse claims)
198 doClaims t [] claims = return (reverse claims)
199 doClaims _ _ _ = fail "Wrong number of arguments"
199 doClaims _ _ _ = fail "Wrong number of arguments"
202+ mkMN n@(UN [x]) = MN 0 x
201apply :: Raw -> [Bool] -> Elab [Name]
204apply :: Raw -> [Bool] -> Elab [Name]
202apply fn imps =
205apply fn imps =
203 do args <- prepare_apply fn imps
206 do args <- prepare_apply fn imps
@@ -224,7 +227,7 @@ apply_elab n args =
224 end_unify
227 end_unify
226 doClaims (Bind n' (Pi t) sc) (i : is) claims =
229 doClaims (Bind n' (Pi t) sc) (i : is) claims =
227− do n <- unique_hole n'
230+ do n <- unique_hole (mkMN n')
228 when (null claims) (start_unify n)
231 when (null claims) (start_unify n)
229 let sc' = instantiate (P Bound n t) sc
232 let sc' = instantiate (P Bound n t) sc
230 claim n (forget t)
233 claim n (forget t)
@@ -238,6 +241,9 @@ apply_elab n args =
238 do (p, _) <- get
241 do (p, _) <- get
239 focus n; elaboration; elabClaims xs
242 focus n; elaboration; elabClaims xs
245+ mkMN n@(UN [x]) = MN 0 x
241simple_app :: Elab () -> Elab () -> Elab ()
247simple_app :: Elab () -> Elab () -> Elab ()
242simple_app fun arg =
248simple_app fun arg =
243 do a <- unique_hole (MN 0 "a")
249 do a <- unique_hole (MN 0 "a")