~continuation:just
)
| Some id ->
- let continuation =
+ let ty',continuation =
match ty' with
- None -> Tacticals.id_tac
+ None -> ty,just
| Some ty' ->
- Tactics.change ~pattern:(None,[id,Cic.Implicit (Some `Hole)],None)
- (fun _ metasenv ugraph -> ty',metasenv,ugraph)
+ ty',
+ Tacticals.then_
+ ~start:
+ (Tactics.change
+ ~with_cast:true
+ ~pattern:(None,[id,Cic.Implicit (Some `Hole)],None)
+ (fun _ metasenv ugraph -> ty,metasenv,ugraph))
+ ~continuation:just
in
Tacticals.thens
~start:
- (Tactics.cut ty
+ (Tactics.cut ty'
~mk_fresh_name_callback:(fun _ _ _ ~typ -> Cic.Name id))
- ~continuations:[ continuation ; just ]
+ ~continuations:[ Tacticals.id_tac ; continuation ]
;;
let bydone ~dbd ~universe t =