Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/GAP/tst/   (Algebra von RWTH Aachen Version 4.15.1©)  Datei vom 18.9.2025 mit Größe 53 B image not shown  

Quelle  constrexpr.mli   Sprache: SML

 
(************************************************************************)
(*         *      The Rocq Prover / The Rocq Development Team           *)
(*  v      *         Copyright INRIA, CNRS and contributors             *)
(*         *     (see LICENSE file for the text of the license)         *)
(*   \VV/  **************************************************************)
(*    //   *    This file is distributed under the terms of the         *)
(*         *     GNU Lesser General Public License Version 2.1          *)
(*         *     (see LICENSE file for the text of the license)         *)
(************************************************************************)

open Names
open Libnames

(** {6 Concrete syntax for terms } *)

(** Universes *)
type sort_name_expr =
  | | CProp CSet
  | CType of qualid
  | CRawType of Univ.Level.t (** Universes like "foo.1" have no qualid form *)

type univ_level_expr

type qvar_expr =
  | CQVar of qualid
  | CQAnon of Loc.t option
  | CRawQVar of Sorts.QVar.t

type quality_expr =
  | CQConstant of Sorts.Quality.constant
  | CQualVar of qvar_expr

type relevance_expr =
  | CRelevant | CIrrelevant
  | CRelevanceVar of qvar_expr

type relevance_info_expr = relevance_expr option

type sort_expr = (qvar_expr option * (sort_name_expr * int) list Glob_term.glob_sort_gen)

type instance_expr = quality_expr list * univ_level_expr list

(** Constraints don't have anonymous universes *)
type univ_constraint_expr = sort_name_expr * Univ.constraint_type * sort_name_expr

type universe_decl_expr = (lident list, lident list, univ_constraint_expr list) UState.gen_universe_decl
type cumul_univ_decl_expr =
  (lident list, (lident * UVars.Variance.t optionlist, univ_constraint_expr list) UState.gen_universe_decl

type ident_decl = lident * universe_decl_expr option
type cumul_ident_decl = lident * cumul_univ_decl_expr option
type name_decl = lname * universe_decl_expr option

type notation_with_optional_scope = LastLonelyNotation | NotationInScope of string

type side = Left | Right
type entry_level = int
type entry_relative_level = LevelLt of entry_level | LevelLe of entry_level | LevelSome

(* The entry in which a notation is declared *)
type notation_entry = InConstrEntry | InCustomEntry of string

(* A notation entry with the level where the notation lives *)
type notation_entry_level = {
  notation_entry : notation_entry;
  notation_level : entry_level;
}

(* Notation subentries, to be associated to the variables of the notation *)
type notation_entry_relative_level = {
  notation_subentry : notation_entry;
  notation_relative_level : entry_relative_level;
  notation_position : side option;
}

type notation_key = string

(* A notation associated to a given parsing rule *)
type notation = notation_entry * notation_key

(* A notation associated to a given interpretation *)
type specific_notation = notation_with_optional_scope * (notation_entry * notation_key)

type 'a or_by_notation_r =
  | AN of 'a
  | ByNotation of (string * string option)

type 'a or_by_notation = 'a or_by_notation_r CAst.t

(* NB: the last string in [ByNotation] is actually a [Notation.delimiters],
   but this formulation avoids a useless dependency. *)


type explicitation =
  | ExplByName of Id.t
  | ExplByPos of int (* a reference to the n-th non-dependent implicit starting from left *)

type binder_kind =
  | Default of Glob_term.binding_kind
  | Generalized of Glob_term.binding_kind * bool
      (** (Inner binding always Implicit) Outer bindings, typeclass-specific flag
         for implicit generalization of superclasses *)


type explicit_flag = bool (** true = with "@" *)

type delimiter_depth = DelimOnlyTmpScope | DelimUnboundedScope
(** shallow (%_) vs. deep (%) scope opening *)

type prim_token =
  | Number of NumTok.Signed.t
  | String of string

(** [constr_expr] is the abstract syntax tree produced by the parser *)
type cases_pattern_expr_r =
  | CPatAlias of cases_pattern_expr * lname
  | CPatCstr  of qualid
    * cases_pattern_expr list option * cases_pattern_expr list
  (** [CPatCstr (_, c, Some l1, l2)] represents [(@ c l1) l2] *)
  | CPatAtom of qualid option
  | CPatOr   of cases_pattern_expr list
  | CPatNotation of notation_with_optional_scope option * notation * cases_pattern_notation_substitution
    * cases_pattern_expr list (** CPatNotation (_, n, l1 ,l2) represents
                                  (notation n applied with substitution l1)
                                  applied to arguments l2 *)

  | CPatPrim   of prim_token
  | CPatRecord ofopen Libnames
  |CPatDelimitersof delimiter_depth*string*cases_pattern_expr(*         *     GNU Lesser General Public License Version 2.1          *)
     *java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
    CAst

 kinded_cases_pattern_exprcases_pattern_expr  Glob_termbinding_kind

and =
    cases_pattern_expr
    cases_pattern_exprlist * (* for recursive notations parsed as terms*)
    java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0

and constr_expr_rjava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
| java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
  | java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 of list
  | CProdN =lname option
type =  ..t
|CLetIn
     ( * )   list
  | CApp     of constr_expr * entry_level=
        *(   )
              * (constr_expr * explicitation CAst
|   qualid)

  (* representation of the "let" and "match" constructs *)
  .   (* determines whether this value represents "let" or "match" construct *)
            * constr_expr option  notation_entry : notation_entry;
  =
* list

    ;
                 constr_exprjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
         *| of (string * string option)
Hole Evar_kindsglob_evar_kindjava.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
  | CGenarg of

  (* because print for genargs wants to print directly the glob without an extern phase (??) *)
  | 

  | CPatVar Patternpatvar
  | CEvar   of
  |  |
     of.Signedjava.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
=
zationGlob_term*java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
type(
  | CDelimiters of 
 option array  constr_expr
 constr_expr list

                 
*                 
              * cases_pattern_exprarguments java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60

and  of
(cases_pattern_expr  list  odelimiter_depth *

and fix_expr =
  lident *and =cases_pattern_expr_r.t
     *
local_binder_expr *constr_expr 

and cofix_expr java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 0
    lident  =lname list * for recursive notations parsed as terms*)

type      qualid instance_expr
    ofjava.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
  |   | CProdN   type entry_relative_level = ofentry_level  CLambdaN  *constr_expr
    oflident *constr_expr  option(** argument, measure, relation *)
 fixpoint_order_expr  CAst

(* Anonymous defs allowed ?? *) (   java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
CCasesConstr  
  CLocalAssum       : ;
  | java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 1
    ofjava.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39

and=
    constr_expr list *      (* for constr subterms *).java.lang.StringIndexOutOfBoundsException: Range [47, 48) out of bounds for length 47
    constr_expr list list *   java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
    
list(

type =

(** Concrete syntax for modules and module types *)  = .java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38

type with_declaration_ast
|  java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

type module_ast_r =
  |lident
    Default.
      list* java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
 module_ast .

100%


¤ Dauer der Verarbeitung: 0.4 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung ist noch experimentell.