1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556(************************************************************************)(* * The Coq Proof Assistant / The Coq Development Team *)(* v * Copyright INRIA, CNRS and contributors *)(* <O___,, * (see version control and CREDITS file for authors & dates) *)(* \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) *)(************************************************************************)(* Created by Arnaud Spiwack, May 2007 *)(* Addition of native Head (nb of heading 0) and Tail (nb of trailing 0) by
Benjamin Grégoire, Jun 2007 *)(* This file defines the knowledge that the kernel is able to optimize. *)openNamestyperetroknowledge={retro_int63:Constant.toption;retro_float64:Constant.toption;retro_string:Constant.toption;retro_array:Constant.toption;retro_bool:(constructor*constructor)option;(* true, false *)retro_carry:(constructor*constructor)option;(* C0, C1 *)retro_pair:constructoroption;retro_cmp:(constructor*constructor*constructor)option;(* Eq, Lt, Gt *)retro_f_cmp:(constructor*constructor*constructor*constructor)option;(* FEq, FLt, FGt, FNotComparable *)retro_f_class:(constructor*constructor*constructor*constructor*constructor*constructor*constructor*constructor*constructor)option;(* PNormal, NNormal, PSubn, NSubn,
PZero, NZero, PInf, NInf,
NaN *)}letempty={retro_int63=None;retro_float64=None;retro_string=None;retro_array=None;retro_bool=None;retro_carry=None;retro_pair=None;retro_cmp=None;retro_f_cmp=None;retro_f_class=None;}typeaction=|Register_ind:'aCPrimitives.prim_ind*inductive->action|Register_type:'aCPrimitives.prim_type*Constant.t->action