X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=components%2Ftactics%2FproofEngineTypes.ml;h=eb48ff3e8d86902f8e114ab73f0b2d3af959e39f;hb=e05e28d01c55699ce539699ac745341bfa4c1c0f;hp=56b4155ae041abeeaa5d3f7ea7ae781f0684d569;hpb=1f66c2507fecd1efa7701af30a9cb3f441abc2d7;p=helm.git diff --git a/components/tactics/proofEngineTypes.ml b/components/tactics/proofEngineTypes.ml index 56b4155ae..eb48ff3e8 100644 --- a/components/tactics/proofEngineTypes.ml +++ b/components/tactics/proofEngineTypes.ml @@ -28,12 +28,12 @@ (** current proof (proof uri * metas * (in)complete proof * term to be prooved) *) -type proof = UriManager.uri option * Cic.metasenv * Cic.term * Cic.term +type proof = UriManager.uri option * Cic.metasenv * Cic.term * Cic.term * Cic.attribute list (** current goal, integer index *) type goal = int type status = proof * goal -let initial_status ty metasenv = +let initial_status ty metasenv attrs = let rec aux max = function | [] -> max + 1 | (idx, _, _) :: tl -> @@ -44,7 +44,7 @@ let initial_status ty metasenv = in let newmeta_idx = aux 0 metasenv in let proof = - None, (newmeta_idx, [], ty) :: metasenv, Cic.Meta (newmeta_idx, []), ty + None, (newmeta_idx, [], ty) :: metasenv, Cic.Meta (newmeta_idx, []), ty, attrs in (proof, newmeta_idx) @@ -79,7 +79,7 @@ let conclusion_pattern t = let t' = match t with | None -> None - | Some t -> Some (fun _ m u -> t, m, u) + | Some t -> Some (const_lazy_term t) in t',[],Some (Cic.Implicit (Some `Hole)) @@ -90,13 +90,13 @@ exception Fail of string Lazy.t calls the opaque tactic on the status *) let apply_tactic t status = - let (uri,metasenv,bo,ty), gl = t status in + let (uri,metasenv,bo,ty, attrs), gl = t status in match CicRefine.pack_coercion_obj - (Cic.CurrentProof ("",metasenv,Cic.Rel ~-1,ty,[],[])) + (Cic.CurrentProof ("",metasenv,Cic.Rel ~-1,ty,[],attrs)) with - | Cic.CurrentProof (_,metasenv,_,ty,_,_) -> - (uri,metasenv,bo,ty), gl + | Cic.CurrentProof (_,metasenv,_,ty,_, attrs) -> + (uri,metasenv,bo,ty, attrs), gl | _ -> assert false ;; @@ -104,5 +104,5 @@ let apply_tactic t status = type mk_fresh_name_type = Cic.metasenv -> Cic.context -> Cic.name -> typ:Cic.term -> Cic.name -let goals_of_proof (_,metasenv,_,_) = List.map (fun (g,_,_) -> g) metasenv +let goals_of_proof (_,metasenv,_,_,_) = List.map (fun (g,_,_) -> g) metasenv