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
deffunc H1( set ) -> set = (the_arguments_of p) . p;
defpred S2[ Element of NAT ] means ( 1 <= p & p <= len (the_arguments_of p) );
defpred S3[ Element of NAT ] means ( 1 <= p & p <= len (the_arguments_of p) & (the_arguments_of p) . p in bound_QC-variables );
A2: for k being Element of NAT st S3[k] holds
S2[k] ;
A3: { H1(k) where k is Element of NAT : S3[k] } c= { H1(n) where n is Element of NAT : S2[n] } from FRAENKEL:sch 1(A2);
assume p is atomic ; :: thesis: Bound_Vars p is finite
then 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 ) } ;
then Bound_Vars p c= rng (the_arguments_of p) by A3, 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 S1[p] 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