Langlib

Langlib.Classes.Indexed.Closure.Injection

Indexed languages under injective terminal maps #

This file proves that indexed languages are both preserved and reflected by injective terminal maps.

Main declarations #

@[reducible]
def IndexedGrammar.mapIRhsSymbol {T₁ T₂ : Type} (f : T₁T₂) {N F : Type} :
IRhsSymbol T₁ N FIRhsSymbol T₂ N F
Equations
Instances For
    @[reducible]
    def IndexedGrammar.mapTerminals {T₁ T₂ : Type} (f : T₁T₂) (g : IndexedGrammar T₁) :
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      theorem IndexedGrammar.language_mapTerminals {T₁ T₂ : Type} [Nonempty T₁] {f : T₁T₂} (hf : Function.Injective f) (g : IndexedGrammar T₁) :

      Mapping an indexed grammar along an injective terminal map maps its language exactly.

      theorem Indexed_of_map_injective_Indexed {T₁ T₂ : Type} [Nonempty T₁] {f : T₁T₂} (hf : Function.Injective f) (L : Language T₁) :

      Indexedness is preserved by an injective terminal map.

      theorem Indexed_of_map_injective_Indexed_rev {T₁ T₂ : Type} [Nonempty T₁] {f : T₁T₂} (hf : Function.Injective f) (L : Language T₁) (hL : is_Indexed ((Language.map f) L)) :

      Indexedness is reflected along an injective terminal map.