InutitionTC  0.30
Data Structures | Typedefs | Enumerations | Functions | Variables
checker.h File Reference

Definitions of the base structures that represent the formulas and proofs. More...

#include <stdlib.h>

Go to the source code of this file.

Data Structures

struct  Kstar
 The representation of the star Kind. More...
 
struct  Kpi
 The representation of the pi Kind. More...
 
struct  Kind
 The representation of the kinds in the typesystem. More...
 
struct  Tvar
 The representation of the type variable in Type. More...
 
struct  Tall
 The representation of the universal quantifier Type. More...
 
struct  Tapp
 The representation of the application of Type to Term; it is one of the species of Type. More...
 
struct  Texi
 The representation of the existential quantifier Type. More...
 
struct  Tand
 The representation of the conjunction Type. More...
 
struct  Tor
 The representation of the disjunction Type. More...
 
struct  Tbot
 The representation of the bottom/falsity Type. More...
 
struct  Type
 The representation of the types in the typesystem. More...
 
struct  Mvar
 The representation of the proof term variable/axiom in Term. More...
 
struct  Mapp
 The representation of the application of a Term to a Term; it is one of the species of Term. More...
 
struct  Mlam
 The representation of the lambda abstraction Term. More...
 
struct  Mwit
 The representation of the exists (i.e. existential quantifier introduction) Term. More...
 
struct  Mabs
 The representation of the abstraction (i.e. existential quantifier elimination) Term. More...
 
struct  Mtup
 The representation of the tuple (i.e. conjunction introduction) Term. More...
 
struct  Mpi1
 The representation of the first projection (i.e. conjunction elimination) Term. More...
 
struct  Mpi2
 The representation of the second projection (i.e. conjunction elimination) Term. More...
 
struct  Min1
 The representation of the first injection (i.e. disjunction introduction) Term. More...
 
struct  Min2
 The representation of the second injection (i.e. disjunction introduction) Term. More...
 
struct  McasIn
 The representation of the case subexpression. More...
 
struct  Mcas
 The representation of the case analysis (i.e. disjunction elimination) Term. More...
 
struct  Meps
 The representation of the ex falso quod libet (i.e. falsity elimination) Term. More...
 
struct  Term
 The representation of the proof terms in the typesystem. More...
 
struct  Bind
 The structure to represent binders. (For future use.) More...
 
struct  Any
 The wrapper that makes it possible to store in envmap different species of elements that occur in typechecking process. More...
 

Typedefs

typedef struct Type Type
 
typedef struct Kind Kind
 
typedef struct Term Term
 
typedef struct Bind Bind
 
typedef struct Any Any
 
typedef char * Name
 The type to structurally represent identifier names.
 
typedef struct Kstar Kstar
 The representation of the star Kind.
 
typedef struct Kpi Kpi
 The representation of the pi Kind.
 
typedef struct Tvar Tvar
 The representation of the type variable in Type.
 
typedef struct Tall Tall
 The representation of the universal quantifier Type.
 
typedef struct Tapp Tapp
 The representation of the application of Type to Term; it is one of the species of Type.
 
typedef struct Texi Texi
 The representation of the existential quantifier Type.
 
typedef struct Tand Tand
 The representation of the conjunction Type.
 
typedef struct Tor Tor
 The representation of the disjunction Type.
 
typedef struct Tbot Tbot
 The representation of the bottom/falsity Type.
 
typedef struct Mvar Mvar
 The representation of the proof term variable/axiom in Term.
 
typedef struct Mapp Mapp
 The representation of the application of a Term to a Term; it is one of the species of Term.
 
typedef struct Mlam Mlam
 The representation of the lambda abstraction Term.
 
typedef struct Mwit Mwit
 The representation of the exists (i.e. existential quantifier introduction) Term.
 
typedef struct Mabs Mabs
 The representation of the abstraction (i.e. existential quantifier elimination) Term.
 
typedef struct Mtup Mtup
 The representation of the tuple (i.e. conjunction introduction) Term.
 
typedef struct Mpi1 Mpi1
 The representation of the first projection (i.e. conjunction elimination) Term.
 
typedef struct Mpi2 Mpi2
 The representation of the second projection (i.e. conjunction elimination) Term.
 
typedef struct Min1 Min1
 The representation of the first injection (i.e. disjunction introduction) Term.
 
typedef struct Min2 Min2
 The representation of the second injection (i.e. disjunction introduction) Term.
 
typedef struct McasIn McasIn
 The representation of the case subexpression.
 
typedef struct Mcas Mcas
 The representation of the case analysis (i.e. disjunction elimination) Term.
 
typedef struct Meps Meps
 The representation of the ex falso quod libet (i.e. falsity elimination) Term.
 

Enumerations

enum  eKind { eKstar, eKpi }
 Values to indicate different species of Kind elements.
 
enum  eType {
  etVar, etAll, etApp, etExi,
  etAnd, etOr, etBot
}
 Values to indicate different species of Type elements.
 
enum  eTerm {
  emVar, emApp, emLam, emWit,
  emAbs, emTup, emPi1, emPi2,
  emIn1, emIn2, emCas, emEps
}
 Values to indicate different species of Term elements.
 
enum  eAny {
  eAnyType, eAnyTerm, eAnyKind, eAnyName,
  eAnyBind
}
 Values to indicate different species of data held in Any structures.
 

Functions

Any anyOfTerm (Term *t)
 
Any anyOfType (Type *t)
 
Any anyOfKind (Kind *t)
 
Any anyOfName (Name t)
 
Any anyOfBind (const Bind b)
 
TermmMvar (Name n)
 
TypetTvar (Name n)
 
Bind mBind (Name n, Type *t, Any *a)
 

Variables

const size_t DEFAULT_SIZE
 

Detailed Description

Definitions of the base structures that represent the formulas and proofs.

Author
Aleksy Schubert
Maciej Zielenkiewicz
Marcin Benke