To show that m a t h c a l P [ m a t h c a l X ] ( a ) \\mathcal{P}[\\mathcal{X}](a) ma t h c a l P [ ma t h c a l X ] ( a ) holds for every a i n m a t h c a l B [ m a t h c a l X ] a \\in \\mathcal{B}[\\mathcal{X}] a in ma t h c a l B [ ma t h c a l X ] , it is enough to show the following:
Formulation
Consider:
A set of sorts S \mathcal{S} S .
A set of variables X \mathcal{X} X .
A predicate P \mathcal{P} P that is parameterized by X \mathcal{X} X and s s s .
A set of Abstract binding tree (ABT) B \mathcal{B} B with Free variable s in X \mathcal{X} X .
To show that P [ X ] ( a ) \mathcal{P}[\mathcal{X}](a) P [ X ] ( a ) holds for every a ∈ B [ X ] a \in \mathcal{B}[\mathcal{X}] a ∈ B [ X ] , it is enough to show the following:
If x ∈ X s x \in \mathcal{X}_s x ∈ X s , then P [ X ] s ( x ) \mathcal{P}[\mathcal{X}]_s(x) P [ X ] s ( x ) . For every o o o of arity ( s ⃗ 1 . s 1 ; … ; s ⃗ n . s n ) . s (\vec{s}_1.s_1;\dots;\vec{s}_n.s_n).s ( s 1 . s 1 ; … ; s n . s n ) . s , if for each 1 ≤ i ≤ n 1 \le i \le n 1 ≤ i ≤ n , P [ X , x ⃗ i ′ ] s i ( ρ ^ i ( a i ) ) \mathcal{P}[\mathcal{X},\vec{x}'_i]_{s_i}(\hat{\rho}_i(a_i)) P [ X , x i ′ ] s i ( ρ ^ i ( a i )) for every ρ i : x ⃗ i ↔ x ⃗ i ′ \rho_i : \vec{x}_i \leftrightarrow \vec{x}_i' ρ i : x i ↔ x i ′ with x ⃗ i ′ ∉ X \vec{x}'_i \notin \mathcal{X} x i ′ ∈ / X , then P [ X ] s ( o ( x ⃗ 1 . a 1 ; … ; x ⃗ n . a n ) ) \mathcal{P}[\mathcal{X}]_s (o(\vec{x}_1.a_1 ; \dots ;\vec{x}_n .a_n)) P [ X ] s ( o ( x 1 . a 1 ; … ; x n . a n )) .