Skip to content

Syntax Comparison

Syntax Comaprison

Expressions

FeatureTwelfSTELFAgdaNotes
Simple Sortsnat : type%sort natdata nat : Set where ...
Constructorszero : nat%term zero natzero : natFlag to allow for colon in STELF
Constructors with paramssucc : nat -> nat%term succ %-> nat natsucc : nat -> natFlag allows for writing %-> as old infix ->
Reversedsucc : nat <- nat%term succ %<- nat natNoneSee above
Simply indexed sortsadd : nat -> nat -> nat -> type%sort add nat nat natdata add : Nat -> Nat -> Nat -> Set
Complete indexed sortseq : {T : tp} (tm T -> tm T -> type)%sort eq {T type} (tm T) (tm T)data eq (T : tp) : tm T -> tm T -> Settype valid ident in STELF
Dependent function types{X : T} U{X T} U(X : T) -> U
Explicit ImplicitsNone{{A B C}} Xforall {A} -> forall {B} -> forall {C} -> XSTELF’s must not have a sort
Multiple binders (dependent functions)None{(X Y Z) T} U(X Y Z : T) -> U
Omitted type{X} or {X : _}{X} or {X _}forall X