InutitionTC  0.30
typechecker.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (C) 2016 by University of Warsaw *
3  * *
4  * This file is part of IntuitionTC. *
5  * *
6  ****************************************************************************/
14 #ifndef _TYPECHECKER_H
15 #define _TYPECHECKER_H 1
16 #include <string.h>
17 #include <stdbool.h>
18 #include "checker.h"
19 #include "envmap_base.h"
20 #ifdef _FRAMAC_
21 #include "namemap.h"
22 #endif
23 
24 /*@ requires valid_envmap(env) && valid_Type_ptr(t);
25  @ assigns \nothing;
26  @ ensures valid_envmap{Post}(env) && valid_Type_ptr{Post}(t);
27  @ ensures valid_Kind_ptr(\result);
28  @*/
29 Kind *inferType(const envmap env, Type *t);
30 Type *inferTerm(const envmap env, Term *m);
31 bool checkTerm(const envmap env, Term *m, Type *t);
32 bool checkType(const envmap env, Type *t, Kind *k);
33 Type *inferTerm(const envmap env, Term *t);
34 bool checkKind(const envmap env, Kind k);
35 
36 #endif
bool checkType(const envmap env, Type *t, Kind *k)
Definition: typechecker.c:172
Kind * inferType(const envmap env, Type *t)
Definition: typechecker.c:240
Operations on the data structure that represents dictionaries of names.
Type * inferTerm(const envmap env, Term *m)
Definition: typechecker.c:681
Operations on the data structure that represents environments.
The representation of the kinds in the typesystem.
Definition: checker.h:68
Definitions of the base structures that represent the formulas and proofs.
bool checkKind(const envmap env, Kind k)
Definition: typechecker.c:134
bool checkTerm(const envmap env, Term *m, Type *t)
Definition: typechecker.c:334
The representation of the types in the typesystem.
Definition: checker.h:146
The representation of the dictionary to hold values wrapped in Any structure and available under stri...
Definition: envmap_base.h:27
The representation of the proof terms in the typesystem.
Definition: checker.h:298