]> matita.cs.unibo.it Git - helm.git/commitdiff
Some quick patch to fix elimination that used to look for
authorClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Thu, 13 Aug 2009 17:15:16 +0000 (17:15 +0000)
committerClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Thu, 13 Aug 2009 17:15:16 +0000 (17:15 +0000)
nat_rect_max{CProp0,Type0}

helm/software/components/ng_tactics/nTacStatus.ml
helm/software/components/ng_tactics/nTacStatus.mli
helm/software/components/ng_tactics/nTactics.ml

index 52a45bbd49dd83a2267997f0b9532cf9313753d2..035e65ac7b83089cd086b803045c8b24f165ed51 100644 (file)
@@ -152,6 +152,14 @@ let unify status ctx a b =
 ;;
 let unify a b c d = wrap (unify a b c) d;;
 
+let fix_sorts (name,ctx,t) =
+ let f () =
+  let t = NCicUnification.fix_sorts t in
+   name,ctx,t
+ in
+  wrap f ()
+;;
+
 let refine status ctx term expty =
   let status, (nt,_,term) = relocate status ctx term in
   let status, ne, expty = 
index 3fdc0330d9b1d6800c572c739564d9acdb728eaa..9279de399ab954e671faf1ee23eb59f682323508 100644 (file)
@@ -55,6 +55,7 @@ val refine:
   'status * cic_term * cic_term (* status, term, type *)
 val apply_subst:
  #pstatus as 'status -> NCic.context -> cic_term -> 'status * cic_term
+val fix_sorts: cic_term -> cic_term
 
 val get_goalty: #pstatus -> int -> cic_term
 val mk_meta: 
index 0d06da71d0d7358dd863c68c210125a63fe2f252..0030fd75abec375ef1cc06b0ab8d0da0c7206969 100644 (file)
@@ -468,6 +468,7 @@ let elim_tac ~what:(txt,len,what) ~where =
   let compute_goal_sort_tac = distribute_tac (fun status goal ->
     let goalty = get_goalty status goal in
     let status, goalsort = typeof status (ctx_of goalty) goalty in
+    let goalsort = fix_sorts goalsort in
     sort := Some goalsort;
     exec id_tac status goal)
   in
@@ -514,7 +515,9 @@ let rewrite_tac ~dir ~what:(_,_,what) ~where status =
    | _ -> assert false 
  in
  let name =
-  match dir with `LeftToRight -> "eq_elim_r" | `RightToLeft -> "eq" ^ suffix
+  match dir with
+     `LeftToRight -> "eq" ^ suffix ^ "_r"
+   | `RightToLeft -> "eq" ^ suffix
  in
   block_tac
    [ select_tac ~where ~job:(`Substexpand 1) true;