]> matita.cs.unibo.it Git - helm.git/commitdiff
applyS now receives the same parameters that auto receives.
authorClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Mon, 9 Oct 2006 17:48:45 +0000 (17:48 +0000)
committerClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Mon, 9 Oct 2006 17:48:45 +0000 (17:48 +0000)
The parameters are not used yet.

components/grafite/grafiteAst.ml
components/grafite/grafiteAstPp.ml
components/grafite_engine/grafiteEngine.ml
components/grafite_parser/grafiteDisambiguate.ml
components/grafite_parser/grafiteParser.ml
components/tactics/auto.ml
components/tactics/auto.mli
components/tactics/tactics.mli
matita/help/C/matita.xml
matita/help/C/sec_tactics.xml
matita/help/C/sec_terms.xml

index e4b2cf24d97b3fbd3b3bb1978bdc5329f7a63600..8816f2efa43d25e000fddcf28cb68df9917b6f6a 100644 (file)
@@ -46,7 +46,7 @@ type 'lazy_term reduction =
 type ('term, 'lazy_term, 'reduction, 'ident) tactic =
   | Absurd of loc * 'term
   | Apply of loc * 'term
-  | ApplyS of loc * 'term
+  | ApplyS of loc * 'term * (string * string) list
   | Assumption of loc
   | Auto of loc * (string * string) list
   | Change of loc * ('term, 'lazy_term, 'ident) pattern * 'lazy_term
index 5644d33d3e8a0cd144a20661d18d31b026de342f..13a4690dd6408014b436687832232f13622615a2 100644 (file)
@@ -75,7 +75,10 @@ let rec pp_tactic ~term_pp ~lazy_term_pp =
   function
   | Absurd (_, term) -> "absurd" ^ term_pp term
   | Apply (_, term) -> "apply " ^ term_pp term
-  | ApplyS (_, term) -> "applyS " ^ term_pp term
+  | ApplyS (_, term, params) ->
+     "applyS " ^ term_pp term ^
+      String.concat " " 
+        (List.map (fun (k,v) -> if v <> "" then k ^ "=" ^ v else k) params)
   | Auto (_,params) -> "auto " ^ 
       String.concat " " 
         (List.map (fun (k,v) -> if v <> "" then k ^ "=" ^ v else k) params)
index 2d0d691f18d271a99e739a30984a28769432a275..4539029af26e1b6d276904701c2a414d81693cc7 100644 (file)
@@ -61,8 +61,8 @@ let tactic_of_ast ast =
   match ast with
   | GrafiteAst.Absurd (_, term) -> Tactics.absurd term
   | GrafiteAst.Apply (_, term) -> Tactics.apply term
-  | GrafiteAst.ApplyS (_, term) ->
-     Tactics.applyS ~term ~dbd:(LibraryDb.instance ())
+  | GrafiteAst.ApplyS (_, term, params) ->
+     Tactics.applyS ~term ~params ~dbd:(LibraryDb.instance ())
   | GrafiteAst.Assumption _ -> Tactics.assumption
   | GrafiteAst.Auto (_,params) ->
       AutoTactic.auto_tac ~params ~dbd:(LibraryDb.instance ()) 
index 134a1689564f73a69558066683779838612a8a5e..9528d45e12f240dc7fd63c09143ecd8e714df5a9 100644 (file)
@@ -123,9 +123,9 @@ let disambiguate_tactic
     | GrafiteAst.Apply (loc, term) ->
         let metasenv,cic = disambiguate_term context metasenv term in
         metasenv,GrafiteAst.Apply (loc, cic)
-    | GrafiteAst.ApplyS (loc, term) ->
+    | GrafiteAst.ApplyS (loc, term, params) ->
         let metasenv,cic = disambiguate_term context metasenv term in
-        metasenv,GrafiteAst.ApplyS (loc, cic)
+        metasenv,GrafiteAst.ApplyS (loc, cic, params)
     | GrafiteAst.Assumption loc ->
         metasenv,GrafiteAst.Assumption loc
     | GrafiteAst.Auto (loc,params) ->
index 6e108ce0447109c69dab396da7faa928f1cbac89..af185a63eb93eccf67b2f447cc6c1115729d915d 100644 (file)
@@ -133,8 +133,10 @@ EXTEND
         GrafiteAst.Absurd (loc, t)
     | IDENT "apply"; t = tactic_term ->
         GrafiteAst.Apply (loc, t)
-    | IDENT "applyS"; t = tactic_term ->
-        GrafiteAst.ApplyS (loc, t)
+    | IDENT "applyS"; t = tactic_term ; params = 
+        LIST0 [ i = IDENT -> i,"" | i = IDENT ; SYMBOL "="; v = [ v = int ->
+          string_of_int v | v = IDENT -> v ] -> i,v ] ->
+        GrafiteAst.ApplyS (loc, t, params)
     | IDENT "assumption" ->
         GrafiteAst.Assumption loc
     | IDENT "auto"; params = 
index 1e99c9b640f4f78fbfd09d2f4702f5b7ca768005..117978d8c646c3b06f932fc497b277f3bea8ec50 100644 (file)
@@ -533,7 +533,7 @@ let auto dbd cache context metasenv gl flags =
   | Fail s,tables,cache,maxm -> None,cache
 ;;
 
-let applyS_tac ~dbd ~term =
+let applyS_tac ~dbd ~term ~params =
  ProofEngineTypes.mk_tactic
   (fun status ->
     try 
index 5883f0bf2ac72d0ff024157f12bc428729246882..c9f3b9b095655944a41c0471e02aa8eadbd25c8b 100644 (file)
@@ -42,5 +42,6 @@ val auto_all_solutions:
   AutoTypes.flags ->
     (Cic.substitution * Cic.metasenv) list * AutoCache.cache
 
-val applyS_tac: dbd:HMysql.dbd -> term: Cic.term -> ProofEngineTypes.tactic
-
+val applyS_tac:
+ dbd:HMysql.dbd -> term: Cic.term -> params:(string * string) list ->
+  ProofEngineTypes.tactic
index c493035552fc5827eb91feb0512b60cbd6fac7ce..7a7d92fdc54a0d345f2b83c5ac2b2cca1ea68377 100644 (file)
@@ -1,7 +1,8 @@
 (* GENERATED FILE, DO NOT EDIT. STAMP:Thu Sep 28 10:29:58 CEST 2006 *)
 val absurd : term:Cic.term -> ProofEngineTypes.tactic
 val apply : term:Cic.term -> ProofEngineTypes.tactic
-val applyS : dbd:HMysql.dbd -> term:Cic.term -> ProofEngineTypes.tactic
+val applyS :
+  dbd:HMysql.dbd -> term:Cic.term -> params:(string * string) list -> ProofEngineTypes.tactic
 val assumption : ProofEngineTypes.tactic
 val auto :
   params:(string * string) list -> dbd:HMysql.dbd -> ProofEngineTypes.tactic
index c3ea1da84d0c054e90f658d1ff9d82f2cb374c3f..bb281ac677b9f076b90acef045e368a6aea601f6 100644 (file)
@@ -48,6 +48,7 @@
   <!ENTITY LCFtactical "<emphasis><link linkend='grammar.LCFtactical'>LCF-tactical</link></emphasis>">
   <!ENTITY qstring "<emphasis><link linkend='grammar.qstring'>qstring</link></emphasis>">
   <!ENTITY interpretation "<emphasis><link linkend='grammar.interpretation'>interpretation</link></emphasis>">
+  <!ENTITY autoparams "<emphasis><link linkend='grammar.autoparams'>auto_params</link></emphasis>">
 ]>
 
 <?yelp:chunk-depth 3?>
index 468a27695c6e64495fd5450cc66b0eed395de912..ff8d099c0180101efba481ec0f7cd16ed0308ace 100644 (file)
   <sect1 id="tac_applyS">
     <title>applyS</title>
     <titleabbrev>applyS</titleabbrev>
-    <para><userinput>applyS t</userinput></para>
+    <para><userinput>applyS t auto_params</userinput></para>
     <para>
       <variablelist>
         <varlistentry role="tactic.synopsis">
           <term>Synopsis:</term>
           <listitem>
-            <para><emphasis role="bold">applyS</emphasis> &sterm;</para>
+            <para><emphasis role="bold">applyS</emphasis> &sterm; &autoparams;</para>
           </listitem>
         </varlistentry>
         <varlistentry>
              Then it closes the current sequent by applying
              <command>t</command> to <command>n</command>
              implicit arguments (that become new sequents).
+             The <command>auto_params</command> parameters are passed
+             directly to <command>auto paramodulation</command>.
             </para>
           </listitem>
         </varlistentry>
   <sect1 id="tac_auto">
     <title>auto</title>
     <titleabbrev>auto</titleabbrev>
-    <para><userinput>auto depth=d width=w paramodulation full</userinput></para>
+    <para><userinput>auto params</userinput></para>
     <para>
       <variablelist>
         <varlistentry role="tactic.synopsis">
           <term>Synopsis:</term>
           <listitem>
-            <para><emphasis role="bold">auto</emphasis> [<emphasis role="bold">depth=</emphasis>&nat;] [<emphasis role="bold">width=</emphasis>&nat;] [<emphasis role="bold">paramodulation</emphasis>] [<emphasis role="bold">full</emphasis>]</para>
+            <para><emphasis role="bold">auto</emphasis> &autoparams;</para>
           </listitem>
         </varlistentry>
         <varlistentry>
           <listitem>
             <para>None, but the tactic may fail finding a proof if every
              proof is in the search space that is pruned away. Pruning is
-             controlled by <command>d</command> and <command>w</command>.
+             controlled by the optional <command>params</command>.
              Moreover, only lemmas whose type signature is a subset of the
              signature of the current sequent are considered. The signature of
-             a sequent is ...TODO</para>
+             a sequent is ...&TODO;</para>
           </listitem>
         </varlistentry>
         <varlistentry>
index add3ba750bf181683c65ae473be1269cc745377c..f5ac2b3ec1d7667d508fe2b7c71f07eb29f9f011 100644 (file)
      </tgroup>
     </table>
     </sect2>
+
+    <sect2 id="auto-params">
+    <title>auto-params</title>
+    <para>&TODO;</para>
+    <table frame="topbot" rowsep="0" colsep="0" role="grammar">
+      <title>reduction-kind</title>
+      <tgroup cols="4">
+      <tbody>
+       <row>
+       <entry id="grammar.autoparams">&autoparams;</entry>
+       <entry>::=</entry>
+        <entry><emphasis role="bold">depth=&nat;</emphasis></entry>
+        <entry>&TODO;</entry>
+       </row>
+       <row>
+        <entry/>
+        <entry>|</entry>
+        <entry><emphasis role="bold">width=&nat;</emphasis></entry>
+        <entry>&TODO;</entry>
+       </row>
+       <row>
+        <entry/>
+        <entry>|</entry>
+        <entry><emphasis role="bold">&TODO;</emphasis></entry>
+        <entry>&TODO;</entry>
+       </row>
+      </tbody>
+     </tgroup>
+    </table>
+    </sect2>
   </sect1>
 
 </chapter>