+ parameter notation in record fields
params = LIST0 protected_binder_vars;
SYMBOL ":"; typ = term; SYMBOL <:unicode<def>>; SYMBOL "{" ;
fields = LIST0 [
- name = IDENT ;
+ name = IDENT ;
+ params = LIST0 protected_binder_vars; (* FG: params added *)
coercion = [
SYMBOL ":" -> false,0
| SYMBOL ":"; SYMBOL ">" -> true,0
| SYMBOL ":"; arity = int ; SYMBOL ">" -> true,arity
];
ty = term ->
- let b,n = coercion in
- (name,ty,b,n)
+ let b,n = coercion in
+ (name, shift_params `Forall params ty, b, n)
] SEP SYMBOL ";"; SYMBOL "}" ->
let params =
List.fold_right
["s"; "σ"; "ς"; "𝕤"; "𝐬"; "𝛔"; "ⓢ"; ] ;
["S"; "Σ"; "𝕊"; "𝐒"; "𝚺"; "Ⓢ"; "𝗦"; ] ;
["t"; "τ"; "𝕥"; "𝐭"; "𝛕"; "ⓣ"; ] ;
- ["T"; "𝕋"; "𝐓"; "Ⓣ"; "⊥"; ] ;
+ ["T"; "𝕋"; "𝐓"; "Ⓣ"; "Ƭ"; "⊥"; ] ;
["u"; "𝕦"; "𝐮"; "ⓤ"; ] ;
["U"; "𝕌"; "𝐔"; "Ⓤ"; ] ;
["v"; "ν"; "𝕧"; "𝐯"; "𝛖"; "𝛎"; "ⓥ"; "▼"; ] ;