defpred S1[ Element of QC-WFF ] means Bound_Vars p is finite;
A1: for p being Element of QC-WFF holds
( ( p is atomic implies S1[p] ) & S1[ VERUM ] & ( p is negative & S1[ the_argument_of p] implies S1[p] ) & ( p is conjunctive & S1[ the_left_argument_of p] & S1[ the_right_argument_of p] implies S1[p] ) & ( p is universal & S1[ the_scope_of p] implies S1[p] ) )
proof
let p be Element of QC-WFF ; :: thesis: ( ( p is atomic implies S1[p] ) & S1[ VERUM ] & ( p is negative & S1[ the_argument_of p] implies S1[p] ) & ( p is conjunctive & S1[ the_left_argument_of p] & S1[ the_right_argument_of p] implies S1[p] ) & ( p is universal & S1[ the_scope_of p] implies S1[p] ) )
thus ( p is atomic implies Bound_Vars p is finite ) :: thesis: ( S1[ VERUM ] & ( p is negative & S1[ the_argument_of p] implies S1[p] ) & ( p is conjunctive & S1[ the_left_argument_of p] & S1[ the_right_argument_of p] implies S1[p] ) & ( p is universal & S1[ the_scope_of p] implies S1[p] ) )
proof
assume p is atomic ; :: thesis: Bound_Vars p is finite
then A2: Bound_Vars p = Bound_Vars (the_arguments_of p) by Lm1
.= { ((the_arguments_of p) . k) where k is Element of NAT : ( 1 <= k & k <= len (the_arguments_of p) & (the_arguments_of p) . k in bound_QC-variables ) } ;
defpred S2[ Element of NAT ] means ( 1 <= p & p <= len (the_arguments_of p) & (the_arguments_of p) . p in bound_QC-variables );
defpred S3[ Element of NAT ] means ( 1 <= p & p <= len (the_arguments_of p) );
deffunc H1( set ) -> set = (the_arguments_of p) . p;
A3: for k being Element of NAT st S2[k] holds
S3[k] ;
{ H1(k) where k is Element of NAT : S2[k] } c= { H1(n) where n is Element of NAT : S3[n] } from FRAENKEL:sch 1(A3);
then ( Bound_Vars p c= rng (the_arguments_of p) & rng (the_arguments_of p) is finite ) by A2, CQC_SIM1:9;
hence Bound_Vars p is finite ; :: thesis: verum
end;
thus Bound_Vars VERUM is finite by Lm1; :: thesis: ( ( p is negative & S1[ the_argument_of p] implies S1[p] ) & ( p is conjunctive & S1[ the_left_argument_of p] & S1[ the_right_argument_of p] implies S1[p] ) & ( p is universal & S1[ the_scope_of p] implies S1[p] ) )
thus ( p is negative & Bound_Vars (the_argument_of p) is finite implies Bound_Vars p is finite ) by Lm1; :: thesis: ( ( p is conjunctive & S1[ the_left_argument_of p] & S1[ the_right_argument_of p] implies S1[p] ) & ( p is universal & S1[ the_scope_of p] implies S1[p] ) )
thus ( p is conjunctive & Bound_Vars (the_left_argument_of p) is finite & Bound_Vars (the_right_argument_of p) is finite implies Bound_Vars p is finite ) :: thesis: ( p is universal & S1[ the_scope_of p] implies S1[p] )
proof end;
assume that
A6: p is universal and
A7: Bound_Vars (the_scope_of p) is finite ; :: thesis: S1[p]
Bound_Vars p = (Bound_Vars (the_scope_of p)) \/ {(bound_in p)} by A6, Lm1;
hence Bound_Vars p is finite by A7; :: thesis: verum
end;
for p being Element of QC-WFF holds S1[p] from QC_LANG1:sch 2(A1);
hence Bound_Vars p is finite ; :: thesis: verum