1 (**************************************************************************)
4 (* ||A|| A project by Andrea Asperti *)
6 (* ||I|| Developers: *)
7 (* ||T|| The HELM team. *)
8 (* ||A|| http://helm.cs.unibo.it *)
10 (* \ / This file is distributed under the terms of the *)
11 (* v GNU General Public License Version 2 *)
13 (**************************************************************************)
15 include "convertibility.ma".
18 (* PURE TYPE SYSTEMS OF THE λ-CUBE ********************************************)
20 inductive Cube_Ax (i,j:nat): Prop ≝
21 | star_box: i = 0 → j = 1 → Cube_Ax i j
24 (* The λPω pure type system (a.k.a. λC or CC) *********************************)
26 inductive CC_Re (i,j,k:nat): Prop ≝
27 | star_star: i = 0 → j = 0 → k = 0 → CC_Re i j k
28 | box_star : i = 1 → j = 0 → k = 0 → CC_Re i j k
29 | box_box : i = 1 → j = 1 → k = 1 → CC_Re i j k
30 | star_box : i = 0 → j = 1 → k = 1 → CC_Re i j k
33 definition CC: pts ≝ mk_pts Cube_Ax CC_Re conv.
35 (* The λω pure type system (a.k.a. Fω) ****************************************)
37 inductive FO_Re (i,j,k:nat): Prop ≝
38 | star_star: i = 0 → j = 0 → k = 0 → FO_Re i j k
39 | box_star : i = 1 → j = 0 → k = 0 → FO_Re i j k
40 | box_box : i = 1 → j = 1 → k = 1 → FO_Re i j k
43 definition FO: pts ≝ mk_pts Cube_Ax FO_Re conv.