pi |- E: tauexp pi |- E: tauexp
pi |- E=E: boolexp
pi |- E: boolexp
pi |- not E: boolexp
pi |- E: intloc
pi |- @E: intexp
pi |- N: intexp
pi |- L: intloc
pi |- E: theta
pi |- I=E: {I:theta}
pi |- E: pi pi |- E: pi
pi |- E,E: pi U pi
pi |- E: pi pi -U- pi |- E: theta
pi |- with E do E: theta
if (I:theta) in pi
pi |- I: theta
pi -U- {I:theta} |- E:theta
pi |- lambdaI:theta. E: theta
theta
pi |- E: theta theta pi |- E: theta
pi |- E E: theta
if (I:theta) in pi
pi |- I: theta