Documentation

LSystems.EDT0L.Union

structure EDT0LGrammar.UnionData {T : Type u_1} {N₀ : Type u_2} {H₀ : Type u_3} {N₁ : Type u_4} {H₁ : Type u_5} [Fintype N₀] [Fintype H₀] [Fintype N₁] [Fintype H₁] :
Type (max (max (max (max u_1 u_2) u_3) u_4) u_5)
Instances For
    def EDT0LGrammar.UnionData.grammar {T : Type u_1} {N₀ : Type u_2} {H₀ : Type u_3} {N₁ : Type u_4} {H₁ : Type u_5} [Fintype N₀] [Fintype H₀] [Fintype N₁] [Fintype H₁] (𝓖 : UnionData) :
    EDT0LGrammar T ((N₀ N₁) Unit) ((H₀ H₁) Fin 2)
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      theorem EDT0LGrammar.UnionData.left_rewrites {T : Type u_1} {N₀ : Type u_2} {H₀ : Type u_3} {N₁ : Type u_4} {H₁ : Type u_5} [Fintype N₀] [Fintype H₀] [Fintype N₁] [Fintype H₁] (𝓖 : UnionData) (w w' : List (Symbol T ((N₀ N₁) Unit))) (h : ∃ (u : List (Symbol T N₀)), w = List.map extend_alphabet₀ u 𝓖.E₀.Generates u) :
      𝓖.grammar.Rewrites w w'∃ (u' : List (Symbol T N₀)), w' = List.map extend_alphabet₀ u' 𝓖.E₀.Generates u'
      theorem EDT0LGrammar.UnionData.right_rewrites {T : Type u_1} {N₀ : Type u_2} {H₀ : Type u_3} {N₁ : Type u_4} {H₁ : Type u_5} [Fintype N₀] [Fintype H₀] [Fintype N₁] [Fintype H₁] (𝓖 : UnionData) (w w' : List (Symbol T ((N₀ N₁) Unit))) (h : ∃ (u : List (Symbol T N₁)), w = List.map extend_alphabet₁ u 𝓖.E₁.Generates u) :
      𝓖.grammar.Rewrites w w'∃ (u' : List (Symbol T N₁)), w' = List.map extend_alphabet₁ u' 𝓖.E₁.Generates u'
      theorem EDT0LGrammar.UnionData.basic_property {T : Type u_1} {N₀ : Type u_2} {H₀ : Type u_3} {N₁ : Type u_4} {H₁ : Type u_5} [Fintype N₀] [Fintype H₀] [Fintype N₁] [Fintype H₁] (𝓖 : UnionData) (w : List (Symbol T ((N₀ N₁) Unit))) (h : 𝓖.grammar.Generates w) :
      theorem EDT0LGrammar.UnionData.basic_property₀ {T : Type u_1} {N₀ : Type u_2} {H₀ : Type u_3} {N₁ : Type u_4} {H₁ : Type u_5} [Fintype N₀] [Fintype H₀] [Fintype N₁] [Fintype H₁] (𝓖 : UnionData) (w : List (Symbol T N₀)) (h : 𝓖.E₀.Generates w) :
      theorem EDT0LGrammar.UnionData.basic_property₁ {T : Type u_1} {N₀ : Type u_2} {H₀ : Type u_3} {N₁ : Type u_4} {H₁ : Type u_5} [Fintype N₀] [Fintype H₀] [Fintype N₁] [Fintype H₁] (𝓖 : UnionData) (w : List (Symbol T N₁)) (h : 𝓖.E₁.Generates w) :
      theorem EDT0LGrammar.UnionData.defines_union {T : Type u_1} {N₀ : Type u_2} {H₀ : Type u_3} {N₁ : Type u_4} {H₁ : Type u_5} [Fintype N₀] [Fintype H₀] [Fintype N₁] [Fintype H₁] (𝓖 : UnionData) :
      theorem EDT0LGrammar.closed_under_union {T : Type u_1} (L₁ L₂ : Language T) (h₁ : L₁.IsEDT0L) (h₂ : L₂.IsEDT0L) :
      (L₁ + L₂).IsEDT0L