diff --git a/encodings/cf.lp b/encodings/cf.lp
index 209cb854b347fb789fedf7b28351c035bb2e2c57..1770eea0651bc17910188e36e660d0c6ff56e7da 100644
--- a/encodings/cf.lp
+++ b/encodings/cf.lp
@@ -1,6 +1,6 @@
 // PVS cert with functional PTS
-symbol Sort : TYPE
-symbol Univ : Sort ⇒ TYPE
+constant symbol Sort : TYPE
+constant symbol Univ : Sort ⇒ TYPE
 
 constant symbol Kind : Sort
 constant symbol Type : Sort
@@ -8,9 +8,9 @@ constant symbol Prop : Sort
 
 // Axioms: (Prop, Type), (Type, Kind)
 // Prop: Type
-symbol uProp : Univ Type
+constant symbol uProp : Univ Type
 // Type: Kind
-symbol uType : Univ Kind
+constant symbol uType : Univ Kind
 
 // Encoding of rules
 // (Prop, Prop, Prop), (Type, Type, Type), (Type, Prop, Prop)
@@ -22,34 +22,33 @@ rule Rule Prop Prop → Prop
  and Rule Type Prop → Prop
 
 // [Term s t] decodes term [t] of encoded sort [s]
-symbol Term {s : Sort} : Univ s ⇒ TYPE
+injective symbol Term {s : Sort} : Univ s ⇒ TYPE
 
 rule Term uProp → Univ Prop
  and Term uType → Univ Type
 
 // [prod s1 s2 A B] encodes [Π x : (A: s1). (B x: s2)]
 symbol prod {s1 s2 : Sort} (A : Univ s1) :
-  (@Term s1 A ⇒ Univ s2) ⇒ Univ (Rule s1 s2)
+  (Term A ⇒ Univ s2) ⇒ Univ (Rule s1 s2)
 
-rule Term _ (prod &s1 &s2 &A &B) → ∀ x : Term &A, Term (&B x)
+rule Term (prod &s1 &s2 &A &B) → ∀ x : Term &A, Term (&B x)
 
 // Predicate subtyping
 // can be seen as a dependant pair type with
 // - first element is a term of some type [A] and
 // - second is a predicate on [A] verified by the first element.
-symbol psub (A : Univ Type) : (@Term Type A ⇒ Univ Prop) ⇒ Univ Type
+symbol psub (A : Univ Type) : (Term A ⇒ Univ Prop) ⇒ Univ Type
 
 // Γ ⊢ M : { v : T | U }
 // —————————————————————PROJl
 //      Γ ⊢ fst(M) : T
-symbol fst {T : Univ Type} {U : @Term Type T ⇒ Univ Prop}:
-  @Term Type (psub T U) ⇒ @Term Type T
+symbol fst {T : Univ Type} {U : Term T ⇒ Univ Prop}: Term (psub T U) ⇒ Term T
 
 //  Γ ⊢ M : { v : T | U }
 // ——————————————————————————PROJr
 // Γ ⊢ snd(M) : U[v ≔ fst(M)]
-symbol snd (T: Univ Type) (U: @Term Type T ⇒ Univ Prop)
-  (M: @Term Type (psub T U)): @Term Prop (U (@fst T U M))
+symbol snd (T: Univ Type) (U: Term T ⇒ Univ Prop) (M: Term (psub T U)):
+  Term (U (@fst T U M))
 
 // An inhabitant of a predicate subtype, that is, a pair of
 // an element and the proof that it satisfies the predicate
@@ -57,7 +56,7 @@ symbol snd (T: Univ Type) (U: @Term Type T ⇒ Univ Prop)
 // ——————————————————————————————————————————————————PAIR
 //           Γ ⊢ ⟨M, N⟩ : {v : T | U}
 symbol pair {T: Univ Type} (U: @Term Type T ⇒ Univ Prop) (M: @Term Type T):
-  @Term Prop (U M) ⇒ @Term Type (psub T U)
+  Term (U M) ⇒ Term (psub T U)
 
 rule @fst &T &U (@pair &T &U &M _) → &M
 rule @snd &T &U (@pair &T &U _ &P) → &P
diff --git a/prelude/cf/booleans.lp b/prelude/cf/booleans.lp
index 9babe9e7c7b20299620a85c0397abf1962b3e23d..e0e80b63d6deac733fe015426f353e632f330ce8 100644
--- a/prelude/cf/booleans.lp
+++ b/prelude/cf/booleans.lp
@@ -2,6 +2,6 @@ require open encodings.cf
 
 definition bool ≔ Prop
 definition false ≔ @prod Type Prop uProp (λ x : @Term Type uProp, x)
-definition true ≔ @Term Prop false ⇒ @Term Prop false
+definition true ≔ Term false ⇒ Term false
 
-definition bnot (P: @Term Type uProp) ≔ @prod Prop Prop P (λ x, false)
+definition bnot (P: Term uProp) ≔ @prod Prop Prop P (λ x, false)
diff --git a/prelude/cf/equalities.lp b/prelude/cf/equalities.lp
index a2941313187c28400a3458905e253075fe4a24bb..8d0f8f28087929b45e07e5b1d91f32db320468f1 100644
--- a/prelude/cf/equalities.lp
+++ b/prelude/cf/equalities.lp
@@ -1,3 +1,3 @@
 require open encodings.cf prelude.cf.booleans
 
-symbol eq {T: @Term Kind uType}: @Term Type T ⇒ @Term Type T ⇒ @Term Type uProp
+symbol eq {T: Term uType}: Term T ⇒ Term T ⇒ Term uProp
diff --git a/prelude/cf/naturalnumbers.lp b/prelude/cf/naturalnumbers.lp
index fc46bfb549410383c9766b9596ca134d8bd4bb2e..41e63179ce3b5bada5707ea3839d95f5e467b75f 100644
--- a/prelude/cf/naturalnumbers.lp
+++ b/prelude/cf/naturalnumbers.lp
@@ -1,8 +1,8 @@
 require open encodings.cf prelude.cf.booleans
 
-constant symbol nat : @Term Kind uType
-constant symbol zero : @Term Type nat
-symbol succ : @Term Type nat ⇒ @Term Type nat
+constant symbol nat : Term uType
+constant symbol zero : Term nat
+injective symbol succ : Term nat ⇒ Term nat
 
 set builtin "0" ≔ zero
 set builtin "+1" ≔ succ
diff --git a/prelude/cf/notequal.lp b/prelude/cf/notequal.lp
index 400bc76222f4efa3f7775ce233899f1411b5faf0..f2a759cdcf50c445b45d9763eccffa1adb72d9c5 100644
--- a/prelude/cf/notequal.lp
+++ b/prelude/cf/notequal.lp
@@ -1,3 +1,3 @@
 require open encodings.cf prelude.cf.booleans prelude.cf.equalities
 
-definition neq {T: @Term Kind uType} (x y: @Term Type T) ≔ bnot (@eq T x y)
+definition neq {T: Term uType} (x y: Term T) ≔ bnot (eq x y)