module Term:sig..end
typelocation =ParseLocation.t
type | | | Wildcard | (* | 
Wildcard symbol, i.e placeholder for an expression to be inferred, typically
      during type-checking. | *) | 
| | | Ttype | (* | 
Builtin symbol for the type of Types. | *) | 
| | | Prop | (* | 
Builtin symbol for the type of propositions. | *) | 
| | | True | (* | 
The  truepropositional constant. | *) | 
| | | False | (* | 
The  falsepropositional constant. | *) | 
| | | Eq | (* | 
Should all arguments be pariwise equal ? | *) | 
| | | Distinct | (* | 
Should all arguments be pairwise distinct ? | *) | 
| | | Ite | (* | 
Condional, usually applied to 3 terms (the condition, the then branch and the else branch). | *) | 
| | | Sequent | (* | 
Sequent as term, usually takes two argument (left side, and right side of the sequent),
      which are respectively a conjunction and a disjunction of propositional formulas. | *) | 
| | | Subtype | (* | 
Subtyping relation | *) | 
| | | Product | (* | 
Product type constructor | *) | 
| | | Union | (* | 
Union type constructor | *) | 
| | | Not | (* | 
Propositional negation | *) | 
| | | And | (* | 
Propositional conjunction | *) | 
| | | Or | (* | 
Propositional disjunction | *) | 
| | | Nand | (* | 
Propositional not-and connective | *) | 
| | | Xor | (* | 
Propositional exclusive disjunction | *) | 
| | | Nor | (* | 
Propositional not-or | *) | 
| | | Imply | (* | 
Propositional implication | *) | 
| | | Implied | (* | 
Propositional left implication (i.e implication with reversed arguments). | *) | 
| | | Equiv | (* | 
Propositional equivalence | *) | 
type | | | All | (* | 
Universal quantification | *) | 
| | | Ex | (* | 
Existencial quantification | *) | 
| | | Pi | (* | 
Polymorphic type quantification in function type | *) | 
| | | Arrow | (* | 
The arrow binder, for function types | *) | 
| | | Let | (* | 
Let bindings (either propositional or for terms | *) | 
| | | Fun | |||
| | | Choice | |||
| | | Description | 
type | | | Symbol of  | (* | 
Constants, variables, etc... any string-identified non-builtin atomic term. | *) | 
| | | Builtin of  | (* | 
Predefined builtins, i.e constants with lexical or syntaxic defintion in the source language. | *) | 
| | | Colon of  | (* | 
Juxtaposition of terms, usually used to annotate a term with its type (for quantified variables,
      functions arguments, etc... | *) | 
| | | App of  | (* | 
Higher-order application | *) | 
| | | Binder of  | (* | 
Binder (quantifiers, local functions, ...) | *) | 
type |    | term :  | 
|    | attr :  | 
|    | loc :  | 
include Term_intf.Logic
val fun_ty : ?loc:location -> t list -> t -> tval pp : Buffer.t -> t -> unit
val print : Format.formatter -> t -> unit