diff options
-rw-r--r-- | PROBLEMES | 11 | ||||
-rw-r--r-- | pretyping/tacred.ml | 2 | ||||
-rw-r--r-- | proofs/pfedit.ml | 4 | ||||
-rw-r--r-- | proofs/refiner.ml | 26 | ||||
-rw-r--r-- | tactics/auto.ml | 4 | ||||
-rw-r--r-- | tactics/tacentries.ml | 4 | ||||
-rw-r--r-- | tactics/tactics.ml | 2 |
7 files changed, 34 insertions, 19 deletions
@@ -1,3 +1,14 @@ +coqtop -byte +Anomaly: Uncaught exception Unix.Unix_error(20, "execv", "./coqtop.byte"). +Please report. +portable-demons ~/coq/V7 > which \coqtop +/home/cpaulin/coq/V7/bin//coqtop +portable-demons ~/coq/V7 > \coqtop -byte +Anomaly: Uncaught exception Unix.Unix_error(20, "execv", "./coqtop.byte"). +Please report. +portable-demons ~/coq/V7 > which coqtop.byte +/home/cpaulin/coq/V7/bin//coqtop.byte + Declaration de Local a l'interieur d'un but ... Certains Clear deviennent impossible car la variable apparait dans un lemme local, c'est plutot sain ... diff --git a/pretyping/tacred.ml b/pretyping/tacred.ml index 0c9ec0484..2768bb3fe 100644 --- a/pretyping/tacred.ml +++ b/pretyping/tacred.ml @@ -542,7 +542,7 @@ let unfold env sigma name = clos_norm_flags (unfold_flags name) env sigma -(* unfoldoccs : (readable_constraints -> (int list * section_path) -> constr -> constr) +(* [unfoldoccs : (readable_constraints -> (int list * section_path) -> constr -> constr)] * Unfolds the constant name in a term c following a list of occurrences occl. * at the occurrences of occ_list. If occ_list is empty, unfold all occurences. * Performs a betaiota reduction after unfolding. *) diff --git a/proofs/pfedit.ml b/proofs/pfedit.ml index 0426955bc..df0c493d5 100644 --- a/proofs/pfedit.ml +++ b/proofs/pfedit.ml @@ -58,7 +58,7 @@ let get_state () = let get_topstate () = snd(get_state()) let get_pftreestate () = fst(get_state()) -(* +(*i let get_evmap_sign og = let og = match og with | Some n -> @@ -74,7 +74,7 @@ let get_evmap_sign og = match og with | Some goal -> (project goal, pf_env goal) | _ -> (Evd.empty, Global.env()) -*) +i*) let get_goal_context n = let pftree = get_pftreestate () in diff --git a/proofs/refiner.ml b/proofs/refiner.ml index 840d24b41..4a44a5d14 100644 --- a/proofs/refiner.ml +++ b/proofs/refiner.ml @@ -61,10 +61,11 @@ let rec norm_evar_pf sigma p = ref = Some(r, List.map (norm_evar_pf sigma) pfl)} -(* mapshape [ l1 ; ... ; lk ] [ v1 ; ... ; vk ] [ p_1 ; .... ; p_(l1+...+lk) ] +(* [mapshape [ l1 ; ... ; lk ] [ v1 ; ... ; vk ] [ p_1 ; .... ; p_(l1+...+lk) ]] gives [ (v1 [p_1 ... p_l1]) ; (v2 [ p_(l1+1) ... p_(l1+l2) ]) ; ... ; - (vk [ p_(l1+...+l(k-1)+1) ... p_(l1+...lk) ]) ] *) + (vk [ p_(l1+...+l(k-1)+1) ... p_(l1+...lk) ]) ] + *) let rec mapshape nl (fl : (proof_tree list -> proof_tree) list) (l : proof_tree list) = @@ -74,9 +75,10 @@ let rec mapshape nl (fl : (proof_tree list -> proof_tree) list) let m,l = list_chop h l in (List.hd fl m) :: (mapshape t (List.tl fl) l) -(* frontier : proof_tree -> goal list * validation - given a proof p, frontier p gives (l,v) where l is the list of goals - to be solved to complete the proof, and v is the corresponding validation *) +(* [frontier : proof_tree -> goal list * validation] + given a proof [p], [frontier p] gives [(l,v)] where [l] is the list of goals + to be solved to complete the proof, and [v] is the corresponding + validation *) let rec frontier p = match p.ref with @@ -99,8 +101,8 @@ let rec frontier p = goal = p.goal; ref = Some(r,pfl')})) -(* list_pf p is the lists of goals to be solved in order to complete the - proof p *) +(* [list_pf p] is the lists of goals to be solved in order to complete the + proof [p] *) let list_pf p = fst (frontier p) @@ -212,16 +214,16 @@ let refiner = function let context ctxt = refiner (Context ctxt) let vernac_tactic texp = refiner (Tactic texp) -(* rc_of_pfsigma : proof sigma -> readable_constraints *) +(* [rc_of_pfsigma : proof sigma -> readable_constraints] *) let rc_of_pfsigma sigma = rc_of_gc sigma.sigma sigma.it.goal -(* rc_of_glsigma : proof sigma -> readable_constraints *) +(* [rc_of_glsigma : proof sigma -> readable_constraints] *) let rc_of_glsigma sigma = rc_of_gc sigma.sigma sigma.it -(* extract_open_proof : proof_tree -> constr * (int * constr) list +(* [extract_open_proof : proof_tree -> constr * (int * constr) list] takes a (not necessarly complete) proof and gives a pair (pfterm,obl) where pfterm is the constr corresponding to the proof - and obl is an int*constr list [ (m1,c1) ; ... ; (mn,cn)] + and [obl] is an [int*constr list] [ (m1,c1) ; ... ; (mn,cn)] where the mi are metavariables numbers, and ci are their types. Their proof should be completed in order to complete the initial proof *) @@ -288,7 +290,7 @@ let idtac_valid = function | _ -> anomaly "Refiner.idtac_valid" ;; -(* goal_goal_list : goal sigma -> goal list sigma *) +(* [goal_goal_list : goal sigma -> goal list sigma] *) let goal_goal_list gls = {it=[gls.it];sigma=gls.sigma};; (* the identity tactic *) diff --git a/tactics/auto.ml b/tactics/auto.ml index 70ff2e639..1a179ecb8 100644 --- a/tactics/auto.ml +++ b/tactics/auto.ml @@ -242,7 +242,7 @@ let make_resolves env sigma name eap (c,cty) = (* used to add an hypothesis to the local hint database *) let make_resolve_hyp env sigma (hname,_,htyp) = try - [make_apply_entry env sigma (true, Options.is_verbose()) hname + [make_apply_entry env sigma (true, false) hname (mkVar hname, body_of_type htyp)] with | Failure _ -> [] @@ -746,7 +746,7 @@ let rec search_gen decomp n db_list local_db extra_sign goal = let hintl = try [make_apply_entry (pf_env g') (project g') - (true,Options.is_verbose()) + (true,false) hid (mkVar hid,body_of_type htyp)] with Failure _ -> [] in diff --git a/tactics/tacentries.ml b/tactics/tacentries.ml index 5b1232feb..6c6449cda 100644 --- a/tactics/tacentries.ml +++ b/tactics/tacentries.ml @@ -14,8 +14,8 @@ let v_transitivity = hide_tactic "Transitivity" dyn_transitivity let v_intro = hide_tactic "Intro" dyn_intro let v_intro_move = hide_tactic "IntroMove" dyn_intro_move let v_introsUntil = hide_tactic "IntrosUntil" dyn_intros_until -(*let v_tclIDTAC = hide_tactic "Idtac" dyn_tclIDTAC -let v_tclFAIL = hide_tactic "Fail" dyn_tclFAIL*) +(*i let v_tclIDTAC = hide_tactic "Idtac" dyn_tclIDTAC +let v_tclFAIL = hide_tactic "Fail" dyn_tclFAIL i*) let v_assumption = hide_tactic "Assumption" dyn_assumption let v_exact = hide_tactic "Exact" dyn_exact_check let v_reduce = hide_tactic "Reduce" dyn_reduce diff --git a/tactics/tactics.ml b/tactics/tactics.ml index 158a625e6..9fc785929 100644 --- a/tactics/tactics.ml +++ b/tactics/tactics.ml @@ -225,6 +225,8 @@ let unfold_constr c = match kind_of_term (strip_outer_cast c) with | IsConst(sp,_) -> unfold_in_concl [[],sp] + | IsVar(id) -> let sp = Lib.make_path id CCI in + unfold_in_concl [[],sp] | _ -> errorlabstrm "unfold_constr" [< 'sTR "Cannot unfold a non-constant." >] |