Synapx.LF
Approximate LF Syntax
and typ =
| Atom of Syncom.Location.t * Syncom.Id.cid_typ * spine
| PiTyp of typ_decl * Syncom.Depend.t * Syncom.Plicity.t * typ
| Sigma of typ_rec
and normal =
| Lam of Syncom.Location.t * Syncom.Name.t * normal
| Root of Syncom.Location.t * head * spine
| LFHole of Syncom.Location.t * string option
| Tuple of Syncom.Location.t * tuple
| Ann of Syncom.Location.t * normal * typ
and head =
| BVar of Syncom.Id.offset
| Const of Syncom.Id.cid_term
| MVar of cvar * sub option
| Proj of head * proj
| Hole
| PVar of cvar * sub option
| FVar of Syncom.Name.t
| FMVar of Syncom.Name.t * sub option
| FPVar of Syncom.Name.t * sub option
and psi_hat = Int.LF.ctx_var option * Syncom.Id.offset