Require Import NaturalDeductionCategory.
Require Import ProgrammingLanguage.
+Definition TwoLevelLanguage (Guest Host:ProgrammingLanguageSMME)
+ := Reification Guest Host (me_i Host).
+
Inductive NLevelLanguage : nat -> ProgrammingLanguageSMME -> Type :=
| NLevelLanguage_zero : forall lang, NLevelLanguage O lang
| NLevelLanguage_succ : forall (L1 L2:ProgrammingLanguageSMME) n,
Definition OmegaLevelLanguage : Type :=
{ f : nat -> ProgrammingLanguageSMME
& forall n, TwoLevelLanguage (f n) (f (S n)) }.
+