{ —————————– pseudoterms ——————————1– }
pterm : TYPE := PRIM
{ —————————– judgements ——————————-4– }
{ —————————– equality rules —————————8– }
A * [1:type(A)] refltype : eq_type(A,A) := PRIM B * 1:eqtype(A,B) sym_type : eq_type(B,A) := PRIM C * 1:eqtype(A,B) trans_type : eq_type(A,C) := PRIM a * 1:in(a,A)] refl : eqin(a,a,A) := PRIM b * 1:eqin(a,b,A) sym : eq_in(b,a,A) := PRIM c * 1:eqin(a,b,A) trans : eq_in(a,c,A) := PRIM]
B * [a:pterm][_1:in(a,A)][2:eqtype(A,B)] conv_in : in(a,B) := PRIM a * [b:pterm][_1:eq_in(a,b,A)][2:eqtype(A,B)] conv_eq_in : eq_in(a,b,B) := PRIM
{ —————————– congruence rules ————————-2– }
{ —————————– the empty type —————————4– }
‘0’ : pterm := PRIM
[a:pterm] R_0 : pterm := PRIM
‘0’form : type(‘0’) := PRIM a * [C:x,ptermpterm] [1:x,ptermtype(]
{ —————————– the unit type —————————-7– }
‘1’ : pterm := PRIM
star : pterm := PRIM
[c:pterm][a:pterm] R_1 : pterm := PRIM
‘1’form : type(‘1’) := PRIM
‘1’intro : in(star,‘1’) := PRIM a * [C:x,ptermpterm] [1:x,ptermtype(]
{ —————————– the Booleans —————————-13– }
‘2’ : pterm := PRIM
1 : pterm := PRIM
2 : pterm := PRIM
[c:pterm][d:pterm][a:pterm] R_2 : pterm := PRIM
‘2’form : type(‘2’) := PRIM
‘2’intro1 : in(1,’2’) := PRIM
‘2’intro2 : in(2,’2’) := PRIM a * [C:x,ptermpterm] [1:x,ptermtype(]
[A:pterm][B:pterm][c:pterm][_1:type(A)][2:type(B)]3:in(c,2)] 2elim_type : type(R_2(A,B,c)) := PRIM B * 1:type(A)]2:type(B)] 2eq_type_1 : eq_type(R_2(A,B,1),A) := PRIM 2eqtype_2 : eq_type(R_2(A,B,2),B) := PRIM]
{ —————————– product types —————————-9– }
B * [C:x,ptermpterm][_1:type(A)][2:x,ptermeqtype(]
B * [1:type(A)]2:x,ptermtype(]
{ —————————– sum types ——————————-11– }
B * [C:x,ptermpterm][_1:type(A)][2:x,ptermeqtype(]
B * [1:type(A)]2:x,ptermtype(]
{ —————————– W types ———————————-8– }
B * [C:x,ptermpterm][_1:type(A)][2:x,ptermeqtype(]
B * [1:type(A)]2:x,ptermtype(]
{ —————————– extensionality ————————–10– }
A * [B:pterm] EQ : pterm := PRIM B * [1:type(A)]2:type(B)] EQform : type(EQ(A,B)) := PRIM B * 1:eqtype(A,B) EQ_intro : in(star,EQ(A,B)) := PRIM B * c:pterm EQ_elim : eq_type(A,B) := PRIM EQ_eq : eq_in(c,star,EQ(A,B)) := PRIM]
Created on August 30, 2022 at 14:41:34. See the history of this page for a list of all contributions to it.