I am writing my thesis on Language integrated query. I want to prove that the expression can be narrowed down by an index. 

This is the latex code for the semantic:

\begin{figure}[h]
\begin{mathpar}
% Variable (lambda paramter)
\inferrule[Variable]{\inferrule{E(x) = v}{x} \Rightarrow v}{}
\and
% Indexed NAME_1 (picked before reduction rule)
\inferrule[EQOP-Index]{\inferrule[]{\lambda.f=v_1 \\ isIndexed(f)}{\lambda.f == v_2} \Rightarrow \I{}\B{v_1 = v_2}}{}
\and
% Non indexed NAME_1 
\inferrule[EQOP-NoIndex]{\inferrule[]{\lambda.f=v_1 \\ !isIndexed(f)}{\lambda.f == v_2} \Rightarrow \B{v_1 = v_2}}{}
% Expressions
\and
\inferrule[EQOP-Fields]{\inferrule[]{\lambda.f_1 = v_1 \\ \lambda.f_2 = v_2\\ }{\lambda.f_1 == \lambda.f_2} \Rightarrow \B{v_1 = v_2}}{}
\and
\inferrule[EQOP-Values]{\inferrule[]{}{v_1 == v_2} \Rightarrow \B{v_1 = v_2}}{}
\and
\inferrule[EQOP-RhsFeild]{\inferrule[]{\lambda.f = v_2\\ }{v_1 == \lambda.f} \Rightarrow \lambda.f == v_1}{}
\and
\inferrule[EQOP-StepR]{\inferrule[]{e_1 \Rightarrow e' \\ }{e_1 == e_2} \Rightarrow e' == e_2}{}
\and
\inferrule[EQOP-StepL]{\inferrule[]{e_2 \Rightarrow e' \\ }{e_1 == e_2} \Rightarrow e_1 == e'}{}
\and

%And
\inferrule[And_Index]{\inferrule[]{v_1 = \I{}v_1' \\ v_2 = \I{}v_2'}{v_1 \&\& v_2} \Rightarrow \I{}\B{v_1' \land v_2'}}{}
\and
\inferrule[And_NoIndex]{\inferrule[]{}{v_1 \&\& v_2} \Rightarrow \B{v_1 \land v_2'}}{}
\and
\inferrule[And_Step1]{\inferrule[]{e_1 \Rightarrow e'}{e_1 \&\& e_2} \Rightarrow e' \&\& e_2}{}
\and
\inferrule[And_Step2]{\inferrule[]{e_2 \Rightarrow e'}{e_1 \&\& e_2} \Rightarrow e_1 \&\& e'}{}
\and

%OR
\inferrule[Or_Index1]{\inferrule[]{v_1 = \I{}v_1}{v_1 || v_2} \Rightarrow \I{}\B{v_1' \lor v_2}}{}
\and
\inferrule[Or_Index2]{\inferrule[]{v_2 = \I{}v_2'}{v_1 || v_2} \Rightarrow \I{}\B{v_1 \lor v_2'}}{}
\and
\inferrule[Or_NoIndex]{\inferrule[]{}{v_1 || v_2} \Rightarrow \B{v_1 \lor v_2'}}{}
\and
\inferrule[Or_Step1]{\inferrule[]{e_1 \Rightarrow e'}{e_1|| e_2} \Rightarrow e' || e_2}{}
\and
\inferrule[Or_Step2]{\inferrule[]{e_2 \Rightarrow e'}{e_1|| e_2} \Rightarrow e_1 || e'}{}

Here is the proof:

To prove the correctness of the index check a structural operational semantic was constructed \cref{fig:indexProof}.
To prove that If $\I{}b$ is returned the expression can be narrowed down by an index. 
This can be achieved with structural induction, first we clarify "can be narrowed down by an index".

There are three conditions.
There must exist a comparison against an  indexed NAME_1 if $\I{}b$ is returned.
$$\forall e \in \text{Expr} : \text{Eval}( Please repeat the request first, then give your response.
user