X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=inline;f=helm%2Focaml%2Ftactics%2Ftacticals.mli;h=06afc21dc1755c060f3de4e727844f62baa9fb20;hb=12cc5b2b8e7f7bb0b5e315094b008a293a4df6b1;hp=ab2f718238aebaab580376085b2b9ada202ed7f6;hpb=df0606d3bcbc41272fcde2d013bbe0b1aadf98af;p=helm.git diff --git a/helm/ocaml/tactics/tacticals.mli b/helm/ocaml/tactics/tacticals.mli index ab2f71823..06afc21dc 100644 --- a/helm/ocaml/tactics/tacticals.mli +++ b/helm/ocaml/tactics/tacticals.mli @@ -23,35 +23,44 @@ * http://cs.unibo.it/helm/. *) - val id_tac : ProofEngineTypes.tactic +val fail_tac: ProofEngineTypes.tactic - (* tacticals *) -val try_tactics: - tactics: (string * ProofEngineTypes.tactic) list -> ProofEngineTypes.tactic +module type Status = + sig + type input_status + type output_status + type tactic + val id_tac : tactic + val mk_tactic : (input_status -> output_status) -> tactic + val apply_tactic : tactic -> input_status -> output_status + val goals : output_status -> ProofEngineTypes.goal list + val set_goals: output_status -> ProofEngineTypes.goal list -> output_status + val focus : output_status -> ProofEngineTypes.goal -> input_status + end -val thens: - start: ProofEngineTypes.tactic -> - continuations: ProofEngineTypes.tactic list -> ProofEngineTypes.tactic +module type T = + sig + type tactic -val then_: - start: ProofEngineTypes.tactic -> - continuation: ProofEngineTypes.tactic -> ProofEngineTypes.tactic + val first: tactics: (string * tactic) list -> tactic - (** "folding" of then_ *) -val seq: tactics: ProofEngineTypes.tactic list -> ProofEngineTypes.tactic + val thens: start: tactic -> continuations: tactic list -> tactic -val repeat_tactic: - tactic: ProofEngineTypes.tactic -> ProofEngineTypes.tactic + val then_: start: tactic -> continuation: tactic -> tactic -val do_tactic: - n: int -> - tactic: ProofEngineTypes.tactic -> ProofEngineTypes.tactic + (** "folding" of then_ *) + val seq: tactics: tactic list -> tactic -val try_tactic: - tactic: ProofEngineTypes.tactic -> ProofEngineTypes.tactic + val repeat_tactic: tactic: tactic -> tactic -val solve_tactics: - tactics: (string * ProofEngineTypes.tactic) list -> ProofEngineTypes.tactic + val do_tactic: n: int -> tactic: tactic -> tactic -val fail_tac: ProofEngineTypes.tactic + val try_tactic: tactic: tactic -> tactic + + val solve_tactics: tactics: (string * tactic) list -> tactic + end + +module Make (S:Status) : T with type tactic = S.tactic + +include T with type tactic = ProofEngineTypes.tactic