let k be Element of NAT ; for V being non empty Subset of QC-variables
for P being QC-pred_symbol of k
for l being QC-variable_list of k holds
( Vars (P ! l),V = variables_in l,V & Vars (P ! l),V = { (l . i) where i is Element of NAT : ( 1 <= i & i <= len l & l . i in V ) } )
let V be non empty Subset of QC-variables ; for P being QC-pred_symbol of k
for l being QC-variable_list of k holds
( Vars (P ! l),V = variables_in l,V & Vars (P ! l),V = { (l . i) where i is Element of NAT : ( 1 <= i & i <= len l & l . i in V ) } )
let P be QC-pred_symbol of k; for l being QC-variable_list of k holds
( Vars (P ! l),V = variables_in l,V & Vars (P ! l),V = { (l . i) where i is Element of NAT : ( 1 <= i & i <= len l & l . i in V ) } )
let l be QC-variable_list of k; ( Vars (P ! l),V = variables_in l,V & Vars (P ! l),V = { (l . i) where i is Element of NAT : ( 1 <= i & i <= len l & l . i in V ) } )
A1:
P ! l is atomic
by QC_LANG1:def 17;
then
the_arguments_of (P ! l) = l
by QC_LANG1:def 22;
hence
( Vars (P ! l),V = variables_in l,V & Vars (P ! l),V = { (l . i) where i is Element of NAT : ( 1 <= i & i <= len l & l . i in V ) } )
by A1, Th47; verum