subst h1_1
D : Type
I : Interpretation D
E E' : Env
h3 : List.Pairwise (fun d1 d2 => d1.name = d2.name → d1.args.length = d2.args.length → False) E'
X : DefName
xs : List VarName
V : VarAssignment D
E1 : Env
h1_1 : E' = E1 ++ E
a : Definition
h2_1 : a ∈ E ∧ X = a.name ∧ xs.length = a.args.length
⊢ Holds D I V E' (def_ X xs) ↔ Holds D I V E (def_ X xs)
D : Type
I : Interpretation D
E : Env
X : DefName
xs : List VarName
V : VarAssignment D
E1 : Env
a : Definition
h2_1 : a ∈ E ∧ X = a.name ∧ xs.length = a.args.length
h3 : List.Pairwise (fun d1 d2 => d1.name = d2.name → d1.args.length = d2.args.length → False) (E1 ++ E)
⊢ Holds D I V (E1 ++ E) (def_ X xs) ↔ Holds D I V E (def_ X xs)