aboutsummaryrefslogtreecommitdiff
path: root/contrib/first-order/rules.mli
blob: 91fdc8cf37cf989327cbd1e38e7ed5e851513b7a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
(***********************************************************************)
(*  v      *   The Coq Proof Assistant  /  The Coq Development Team    *)
(* <O___,, *        INRIA-Rocquencourt  &  LRI-CNRS-Orsay              *)
(*   \VV/  *************************************************************)
(*    //   *      This file is distributed under the terms of the      *)
(*         *       GNU Lesser General Public License Version 2.1       *)
(***********************************************************************)

(* $Id$ *)

open Term
open Tacmach
open Names
open Libnames

type seqtac= (Sequent.t -> tactic) -> Sequent.t -> tactic

type lseqtac= global_reference -> seqtac

val wrap : int -> bool -> seqtac

val clear_global: global_reference -> tactic

val axiom_tac : constr -> Sequent.t -> tactic

val evaluable_tac : evaluable_global_reference -> seqtac

val left_evaluable_tac : evaluable_global_reference -> lseqtac

val normalize_evaluables : tactic

val and_tac : seqtac

val left_and_tac : inductive -> lseqtac

val or_tac : seqtac

val left_or_tac : inductive -> lseqtac

val forall_tac : seqtac

val collect_forall : Sequent.t -> Formula.left_formula list * Sequent.t

val left_instance_tac : Unify.instance * global_reference -> seqtac

val left_forall_tac : Formula.left_formula list -> seqtac

val arrow_tac : seqtac

val dummy_exists_tac : constr -> seqtac

val right_instance_tac : constr * int -> seqtac

val exists_tac : (constr * int) list -> seqtac
	       
val left_exists_tac : lseqtac

val ll_arrow_tac : constr -> constr -> constr -> lseqtac

val ll_atom_tac : constr -> lseqtac

val ll_false_tac : lseqtac

val left_false_tac : global_reference -> tactic

val ll_ind_tac : inductive -> constr list -> lseqtac

val ll_forall_tac : types -> lseqtac