]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/tactics/continuationals.mli
parameter sintax added to axiom statement
[helm.git] / helm / software / components / tactics / continuationals.mli
index d40202d4b37e2a92f1ba878a0581fdbf50501bcb..12681db63dff8366d410726a56a7f2776a23fbbf 100644 (file)
@@ -42,12 +42,28 @@ sig
   val find_goal: t -> goal            (** find "next" goal *)
   val is_empty: t -> bool             (** a singleton empty level *)
   val of_metasenv: Cic.metasenv -> t
+  val of_nmetasenv: (goal * 'a) list -> t
   val head_switches: t -> switch list (** top level switches *)
   val head_goals: t -> goal list      (** top level goals *)
   val head_tag: t -> tag              (** top level tag *)
   val shift_goals: t -> goal list     (** second level goals *)
   val open_goals: t -> goal list      (** all (Open) goals *)
   val goal_of_switch: switch -> goal
+  val filter_open : (goal * switch) list -> (goal * switch) list
+  val is_open: goal * switch -> bool
+  val is_fresh: goal * switch -> bool
+  val init_pos: (goal * switch) list -> (goal * switch) list 
+  val goal_of_loc: goal * switch -> goal
+  val switch_of_loc: goal * switch -> switch
+  val zero_pos : goal list -> (goal * switch) list
+  val deep_close: goal list -> t -> t
+
+
+  val ( @+ ) : 'a list -> 'a list -> 'a list
+  val ( @- ) : 'a list -> 'a list -> 'a list
+  val ( @~- ) : ('a * switch) list -> goal list -> ('a * switch) list
+
+
 
   (** @param int depth, depth 0 is the top of the stack *)
   val fold:
@@ -79,13 +95,10 @@ sig
   type output_status
 
   type tactic
-
-  val id_tactic : tactic
   val mk_tactic : (input_status -> output_status) -> tactic
   val apply_tactic : tactic -> input_status -> output_status
 
   val goals : output_status -> goal list * goal list (** opened, closed goals *)
-  val set_goals: goal list * goal list -> output_status -> output_status
   val get_stack : input_status -> Stack.t
   val set_stack : Stack.t -> output_status -> output_status
 
@@ -109,8 +122,10 @@ sig
 
     | Branch
     | Shift
-    | Pos of int
+    | Pos of int list
+    | Wildcard
     | Merge
+
     | Focus of goal list
     | Unfocus