let p be QC-formula; :: thesis: ( Bound_Vars VERUM = {} bound_QC-variables & ( p is atomic implies Bound_Vars p = Bound_Vars (the_arguments_of p) ) & ( p is negative implies Bound_Vars p = Bound_Vars (the_argument_of p) ) & ( p is conjunctive implies Bound_Vars p = (Bound_Vars (the_left_argument_of p)) \/ (Bound_Vars (the_right_argument_of p)) ) & ( p is universal implies Bound_Vars p = (Bound_Vars (the_scope_of p)) \/ {(bound_in p)} ) )
deffunc H1( Element of QC-WFF ) -> Subset of bound_QC-variables = Bound_Vars (the_arguments_of $1);
deffunc H2( Element of QC-WFF ) -> Subset of bound_QC-variables = Bound_Vars $1;
set V = bound_QC-variables ;
deffunc H3( Subset of bound_QC-variables) -> Subset of bound_QC-variables = $1;
deffunc H4( Subset of bound_QC-variables, Subset of bound_QC-variables) -> Element of bool bound_QC-variables = $1 \/ $2;
deffunc H5( Element of QC-WFF , Subset of bound_QC-variables) -> Element of bool bound_QC-variables = $2 \/ {(bound_in $1)};
A1: for p being QC-formula
for X being Subset of bound_QC-variables holds
( X = H2(p) iff ex F being Function of QC-WFF,(bool bound_QC-variables) st
( X = F . p & ( for p being Element of QC-WFF
for d1, d2 being Subset of bound_QC-variables holds
( ( p = VERUM implies F . p = {} bound_QC-variables ) & ( p is atomic implies F . p = H1(p) ) & ( p is negative & d1 = F . (the_argument_of p) implies F . p = H3(d1) ) & ( p is conjunctive & d1 = F . (the_left_argument_of p) & d2 = F . (the_right_argument_of p) implies F . p = H4(d1,d2) ) & ( p is universal & d1 = F . (the_scope_of p) implies F . p = H5(p,d1) ) ) ) ) ) by Def8;
H2( VERUM ) = {} bound_QC-variables from QC_LANG3:sch 3(A1)
.= {} ;
hence Bound_Vars VERUM = {} bound_QC-variables ; :: thesis: ( ( p is atomic implies Bound_Vars p = Bound_Vars (the_arguments_of p) ) & ( p is negative implies Bound_Vars p = Bound_Vars (the_argument_of p) ) & ( p is conjunctive implies Bound_Vars p = (Bound_Vars (the_left_argument_of p)) \/ (Bound_Vars (the_right_argument_of p)) ) & ( p is universal implies Bound_Vars p = (Bound_Vars (the_scope_of p)) \/ {(bound_in p)} ) )
thus ( p is atomic implies Bound_Vars p = Bound_Vars (the_arguments_of p) ) :: thesis: ( ( p is negative implies Bound_Vars p = Bound_Vars (the_argument_of p) ) & ( p is conjunctive implies Bound_Vars p = (Bound_Vars (the_left_argument_of p)) \/ (Bound_Vars (the_right_argument_of p)) ) & ( p is universal implies Bound_Vars p = (Bound_Vars (the_scope_of p)) \/ {(bound_in p)} ) )
proof end;
thus ( p is negative implies Bound_Vars p = Bound_Vars (the_argument_of p) ) :: thesis: ( ( p is conjunctive implies Bound_Vars p = (Bound_Vars (the_left_argument_of p)) \/ (Bound_Vars (the_right_argument_of p)) ) & ( p is universal implies Bound_Vars p = (Bound_Vars (the_scope_of p)) \/ {(bound_in p)} ) )
proof end;
thus ( p is conjunctive implies Bound_Vars p = (Bound_Vars (the_left_argument_of p)) \/ (Bound_Vars (the_right_argument_of p)) ) :: thesis: ( p is universal implies Bound_Vars p = (Bound_Vars (the_scope_of p)) \/ {(bound_in p)} )
proof end;
thus ( p is universal implies Bound_Vars p = (Bound_Vars (the_scope_of p)) \/ {(bound_in p)} ) :: thesis: verum
proof end;