:: SUBSTUT1 semantic presentation begin definition let A be QC-alphabet ; func vSUB A -> set equals :: SUBSTUT1:def 1 PFuncs ((bound_QC-variables A),(bound_QC-variables A)); coherence PFuncs ((bound_QC-variables A),(bound_QC-variables A)) is set ; end; :: deftheorem defines vSUB SUBSTUT1:def_1_:_ for A being QC-alphabet holds vSUB A = PFuncs ((bound_QC-variables A),(bound_QC-variables A)); registration let A be QC-alphabet ; cluster vSUB A -> non empty ; coherence not vSUB A is empty ; end; definition let A be QC-alphabet ; mode CQC_Substitution of A is Element of vSUB A; end; registration let A be QC-alphabet ; cluster vSUB A -> functional ; coherence vSUB A is functional ; end; definition let A be QC-alphabet ; let Sub be CQC_Substitution of A; func @ Sub -> PartFunc of (bound_QC-variables A),(bound_QC-variables A) equals :: SUBSTUT1:def 2 Sub; coherence Sub is PartFunc of (bound_QC-variables A),(bound_QC-variables A) by PARTFUN1:47; end; :: deftheorem defines @ SUBSTUT1:def_2_:_ for A being QC-alphabet for Sub being CQC_Substitution of A holds @ Sub = Sub; theorem Th1: :: SUBSTUT1:1 for A being QC-alphabet for a being set for Sub being CQC_Substitution of A st a in dom Sub holds Sub . a in bound_QC-variables A proof let A be QC-alphabet ; ::_thesis: for a being set for Sub being CQC_Substitution of A st a in dom Sub holds Sub . a in bound_QC-variables A let a be set ; ::_thesis: for Sub being CQC_Substitution of A st a in dom Sub holds Sub . a in bound_QC-variables A let Sub be CQC_Substitution of A; ::_thesis: ( a in dom Sub implies Sub . a in bound_QC-variables A ) assume a in dom Sub ; ::_thesis: Sub . a in bound_QC-variables A then a in dom (@ Sub) ; hence Sub . a in bound_QC-variables A by PARTFUN1:4; ::_thesis: verum end; definition let A be QC-alphabet ; let l be FinSequence of QC-variables A; let Sub be CQC_Substitution of A; func CQC_Subst (l,Sub) -> FinSequence of QC-variables A means :Def3: :: SUBSTUT1:def 3 ( len it = len l & ( for k being Element of NAT st 1 <= k & k <= len l holds ( ( l . k in dom Sub implies it . k = Sub . (l . k) ) & ( not l . k in dom Sub implies it . k = l . k ) ) ) ); existence ex b1 being FinSequence of QC-variables A st ( len b1 = len l & ( for k being Element of NAT st 1 <= k & k <= len l holds ( ( l . k in dom Sub implies b1 . k = Sub . (l . k) ) & ( not l . k in dom Sub implies b1 . k = l . k ) ) ) ) proof defpred S1[ set , set ] means ( ( l . $1 in dom Sub implies $2 = Sub . (l . $1) ) & ( not l . $1 in dom Sub implies $2 = l . $1 ) ); A1: for k being Nat st k in Seg (len l) holds ex y being set st S1[k,y] proof let k be Nat; ::_thesis: ( k in Seg (len l) implies ex y being set st S1[k,y] ) assume k in Seg (len l) ; ::_thesis: ex y being set st S1[k,y] ( l . k in dom Sub implies ex y being set st S1[k,y] ) ; hence ex y being set st S1[k,y] ; ::_thesis: verum end; consider s being FinSequence such that A2: dom s = Seg (len l) and A3: for k being Nat st k in Seg (len l) holds S1[k,s . k] from FINSEQ_1:sch_1(A1); rng s c= QC-variables A proof let y be set ; :: according to TARSKI:def_3 ::_thesis: ( not y in rng s or y in QC-variables A ) assume y in rng s ; ::_thesis: y in QC-variables A then consider x being set such that A4: x in dom s and A5: s . x = y by FUNCT_1:def_3; reconsider x = x as Element of NAT by A4; now__::_thesis:_(_(_l_._x_in_dom_Sub_&_s_._x_in_bound_QC-variables_A_)_or_(_not_l_._x_in_dom_Sub_&_s_._x_in_QC-variables_A_)_) percases ( l . x in dom Sub or not l . x in dom Sub ) ; caseA6: l . x in dom Sub ; ::_thesis: s . x in bound_QC-variables A then s . x = Sub . (l . x) by A2, A3, A4; hence s . x in bound_QC-variables A by A6, Th1; ::_thesis: verum end; caseA7: not l . x in dom Sub ; ::_thesis: s . x in QC-variables A x in dom l by A2, A4, FINSEQ_1:def_3; then A8: l . x in rng l by FUNCT_1:3; s . x = l . x by A2, A3, A4, A7; hence s . x in QC-variables A by A8; ::_thesis: verum end; end; end; hence y in QC-variables A by A5; ::_thesis: verum end; then reconsider s = s as FinSequence of QC-variables A by FINSEQ_1:def_4; take s ; ::_thesis: ( len s = len l & ( for k being Element of NAT st 1 <= k & k <= len l holds ( ( l . k in dom Sub implies s . k = Sub . (l . k) ) & ( not l . k in dom Sub implies s . k = l . k ) ) ) ) thus len s = len l by A2, FINSEQ_1:def_3; ::_thesis: for k being Element of NAT st 1 <= k & k <= len l holds ( ( l . k in dom Sub implies s . k = Sub . (l . k) ) & ( not l . k in dom Sub implies s . k = l . k ) ) thus for k being Element of NAT st 1 <= k & k <= len l holds ( ( l . k in dom Sub implies s . k = Sub . (l . k) ) & ( not l . k in dom Sub implies s . k = l . k ) ) ::_thesis: verum proof let k be Element of NAT ; ::_thesis: ( 1 <= k & k <= len l implies ( ( l . k in dom Sub implies s . k = Sub . (l . k) ) & ( not l . k in dom Sub implies s . k = l . k ) ) ) assume ( 1 <= k & k <= len l ) ; ::_thesis: ( ( l . k in dom Sub implies s . k = Sub . (l . k) ) & ( not l . k in dom Sub implies s . k = l . k ) ) then k in dom l by FINSEQ_3:25; then k in Seg (len l) by FINSEQ_1:def_3; hence ( ( l . k in dom Sub implies s . k = Sub . (l . k) ) & ( not l . k in dom Sub implies s . k = l . k ) ) by A3; ::_thesis: verum end; end; uniqueness for b1, b2 being FinSequence of QC-variables A st len b1 = len l & ( for k being Element of NAT st 1 <= k & k <= len l holds ( ( l . k in dom Sub implies b1 . k = Sub . (l . k) ) & ( not l . k in dom Sub implies b1 . k = l . k ) ) ) & len b2 = len l & ( for k being Element of NAT st 1 <= k & k <= len l holds ( ( l . k in dom Sub implies b2 . k = Sub . (l . k) ) & ( not l . k in dom Sub implies b2 . k = l . k ) ) ) holds b1 = b2 proof let l1, l2 be FinSequence of QC-variables A; ::_thesis: ( len l1 = len l & ( for k being Element of NAT st 1 <= k & k <= len l holds ( ( l . k in dom Sub implies l1 . k = Sub . (l . k) ) & ( not l . k in dom Sub implies l1 . k = l . k ) ) ) & len l2 = len l & ( for k being Element of NAT st 1 <= k & k <= len l holds ( ( l . k in dom Sub implies l2 . k = Sub . (l . k) ) & ( not l . k in dom Sub implies l2 . k = l . k ) ) ) implies l1 = l2 ) assume that A9: len l1 = len l and A10: for k being Element of NAT st 1 <= k & k <= len l holds ( ( l . k in dom Sub implies l1 . k = Sub . (l . k) ) & ( not l . k in dom Sub implies l1 . k = l . k ) ) and A11: len l2 = len l and A12: for k being Element of NAT st 1 <= k & k <= len l holds ( ( l . k in dom Sub implies l2 . k = Sub . (l . k) ) & ( not l . k in dom Sub implies l2 . k = l . k ) ) ; ::_thesis: l1 = l2 now__::_thesis:_for_k_being_Nat_st_1_<=_k_&_k_<=_len_l_holds_ l1_._k_=_l2_._k let k be Nat; ::_thesis: ( 1 <= k & k <= len l implies l1 . k = l2 . k ) assume A13: ( 1 <= k & k <= len l ) ; ::_thesis: l1 . k = l2 . k A14: k in NAT by ORDINAL1:def_12; then A15: ( not l . k in dom Sub implies l1 . k = l . k ) by A10, A13; ( l . k in dom Sub implies l1 . k = Sub . (l . k) ) by A10, A14, A13; hence l1 . k = l2 . k by A12, A14, A13, A15; ::_thesis: verum end; hence l1 = l2 by A9, A11, FINSEQ_1:14; ::_thesis: verum end; end; :: deftheorem Def3 defines CQC_Subst SUBSTUT1:def_3_:_ for A being QC-alphabet for l being FinSequence of QC-variables A for Sub being CQC_Substitution of A for b4 being FinSequence of QC-variables A holds ( b4 = CQC_Subst (l,Sub) iff ( len b4 = len l & ( for k being Element of NAT st 1 <= k & k <= len l holds ( ( l . k in dom Sub implies b4 . k = Sub . (l . k) ) & ( not l . k in dom Sub implies b4 . k = l . k ) ) ) ) ); definition let A be QC-alphabet ; let l be FinSequence of bound_QC-variables A; func @ l -> FinSequence of QC-variables A equals :: SUBSTUT1:def 4 l; coherence l is FinSequence of QC-variables A proof rng l c= QC-variables A by XBOOLE_1:1; hence l is FinSequence of QC-variables A by FINSEQ_1:def_4; ::_thesis: verum end; end; :: deftheorem defines @ SUBSTUT1:def_4_:_ for A being QC-alphabet for l being FinSequence of bound_QC-variables A holds @ l = l; definition let A be QC-alphabet ; let l be FinSequence of bound_QC-variables A; let Sub be CQC_Substitution of A; func CQC_Subst (l,Sub) -> FinSequence of bound_QC-variables A equals :: SUBSTUT1:def 5 CQC_Subst ((@ l),Sub); coherence CQC_Subst ((@ l),Sub) is FinSequence of bound_QC-variables A proof len (CQC_Subst ((@ l),Sub)) = len (@ l) by Def3; then A1: dom (CQC_Subst ((@ l),Sub)) = Seg (len (@ l)) by FINSEQ_1:def_3; A2: for k being Element of NAT st k in Seg (len (@ l)) holds ( ( (@ l) . k in dom Sub implies (CQC_Subst ((@ l),Sub)) . k = Sub . ((@ l) . k) ) & ( not (@ l) . k in dom Sub implies (CQC_Subst ((@ l),Sub)) . k = (@ l) . k ) ) proof let k be Element of NAT ; ::_thesis: ( k in Seg (len (@ l)) implies ( ( (@ l) . k in dom Sub implies (CQC_Subst ((@ l),Sub)) . k = Sub . ((@ l) . k) ) & ( not (@ l) . k in dom Sub implies (CQC_Subst ((@ l),Sub)) . k = (@ l) . k ) ) ) assume k in Seg (len (@ l)) ; ::_thesis: ( ( (@ l) . k in dom Sub implies (CQC_Subst ((@ l),Sub)) . k = Sub . ((@ l) . k) ) & ( not (@ l) . k in dom Sub implies (CQC_Subst ((@ l),Sub)) . k = (@ l) . k ) ) then ( 1 <= k & k <= len (@ l) ) by FINSEQ_1:1; hence ( ( (@ l) . k in dom Sub implies (CQC_Subst ((@ l),Sub)) . k = Sub . ((@ l) . k) ) & ( not (@ l) . k in dom Sub implies (CQC_Subst ((@ l),Sub)) . k = (@ l) . k ) ) by Def3; ::_thesis: verum end; rng (CQC_Subst ((@ l),Sub)) c= bound_QC-variables A proof let y be set ; :: according to TARSKI:def_3 ::_thesis: ( not y in rng (CQC_Subst ((@ l),Sub)) or y in bound_QC-variables A ) assume y in rng (CQC_Subst ((@ l),Sub)) ; ::_thesis: y in bound_QC-variables A then consider x being set such that A3: x in dom (CQC_Subst ((@ l),Sub)) and A4: (CQC_Subst ((@ l),Sub)) . x = y by FUNCT_1:def_3; reconsider x = x as Element of NAT by A3; now__::_thesis:_(_(_(@_l)_._x_in_dom_Sub_&_(CQC_Subst_((@_l),Sub))_._x_in_bound_QC-variables_A_)_or_(_not_(@_l)_._x_in_dom_Sub_&_(CQC_Subst_((@_l),Sub))_._x_in_bound_QC-variables_A_)_) percases ( (@ l) . x in dom Sub or not (@ l) . x in dom Sub ) ; caseA5: (@ l) . x in dom Sub ; ::_thesis: (CQC_Subst ((@ l),Sub)) . x in bound_QC-variables A then (CQC_Subst ((@ l),Sub)) . x = Sub . ((@ l) . x) by A1, A2, A3; hence (CQC_Subst ((@ l),Sub)) . x in bound_QC-variables A by A5, Th1; ::_thesis: verum end; caseA6: not (@ l) . x in dom Sub ; ::_thesis: (CQC_Subst ((@ l),Sub)) . x in bound_QC-variables A A7: rng l c= bound_QC-variables A ; x in dom (@ l) by A1, A3, FINSEQ_1:def_3; then A8: (@ l) . x in rng (@ l) by FUNCT_1:3; (CQC_Subst ((@ l),Sub)) . x = (@ l) . x by A1, A2, A3, A6; hence (CQC_Subst ((@ l),Sub)) . x in bound_QC-variables A by A8, A7; ::_thesis: verum end; end; end; hence y in bound_QC-variables A by A4; ::_thesis: verum end; hence CQC_Subst ((@ l),Sub) is FinSequence of bound_QC-variables A by FINSEQ_1:def_4; ::_thesis: verum end; end; :: deftheorem defines CQC_Subst SUBSTUT1:def_5_:_ for A being QC-alphabet for l being FinSequence of bound_QC-variables A for Sub being CQC_Substitution of A holds CQC_Subst (l,Sub) = CQC_Subst ((@ l),Sub); definition let A be QC-alphabet ; let Sub be CQC_Substitution of A; let X be set ; :: original: | redefine funcSub | X -> CQC_Substitution of A; coherence Sub | X is CQC_Substitution of A proof Sub | X = (@ Sub) | X ; hence Sub | X is CQC_Substitution of A by PARTFUN1:45; ::_thesis: verum end; end; registration let A be QC-alphabet ; cluster Relation-like Function-like finite for Element of vSUB A; existence ex b1 being CQC_Substitution of A st b1 is finite proof take L = {} ; ::_thesis: ( L is CQC_Substitution of A & L is finite ) L is PartFunc of (bound_QC-variables A),(bound_QC-variables A) by RELSET_1:12; hence L is CQC_Substitution of A by PARTFUN1:45; ::_thesis: L is finite thus L is finite ; ::_thesis: verum end; end; definition let A be QC-alphabet ; let x be bound_QC-variable of A; let p be QC-formula of A; let Sub be CQC_Substitution of A; func RestrictSub (x,p,Sub) -> finite CQC_Substitution of A equals :: SUBSTUT1:def 6 Sub | { y where y is bound_QC-variable of A : ( y in still_not-bound_in p & y is Element of dom Sub & y <> x & y <> Sub . y ) } ; coherence Sub | { y where y is bound_QC-variable of A : ( y in still_not-bound_in p & y is Element of dom Sub & y <> x & y <> Sub . y ) } is finite CQC_Substitution of A proof set Y = { y where y is bound_QC-variable of A : ( y is Element of dom Sub & y <> x & y <> Sub . y ) } ; set X = { y where y is bound_QC-variable of A : ( y in still_not-bound_in p & y is Element of dom Sub & y <> x & y <> Sub . y ) } ; reconsider Z = still_not-bound_in p as finite set by CQC_SIM1:19; for a being set holds ( a in { y where y is bound_QC-variable of A : ( y in still_not-bound_in p & y is Element of dom Sub & y <> x & y <> Sub . y ) } iff a in Z /\ { y where y is bound_QC-variable of A : ( y is Element of dom Sub & y <> x & y <> Sub . y ) } ) proof let a be set ; ::_thesis: ( a in { y where y is bound_QC-variable of A : ( y in still_not-bound_in p & y is Element of dom Sub & y <> x & y <> Sub . y ) } iff a in Z /\ { y where y is bound_QC-variable of A : ( y is Element of dom Sub & y <> x & y <> Sub . y ) } ) thus ( a in { y where y is bound_QC-variable of A : ( y in still_not-bound_in p & y is Element of dom Sub & y <> x & y <> Sub . y ) } implies a in Z /\ { y where y is bound_QC-variable of A : ( y is Element of dom Sub & y <> x & y <> Sub . y ) } ) ::_thesis: ( a in Z /\ { y where y is bound_QC-variable of A : ( y is Element of dom Sub & y <> x & y <> Sub . y ) } implies a in { y where y is bound_QC-variable of A : ( y in still_not-bound_in p & y is Element of dom Sub & y <> x & y <> Sub . y ) } ) proof assume a in { y where y is bound_QC-variable of A : ( y in still_not-bound_in p & y is Element of dom Sub & y <> x & y <> Sub . y ) } ; ::_thesis: a in Z /\ { y where y is bound_QC-variable of A : ( y is Element of dom Sub & y <> x & y <> Sub . y ) } then consider y being bound_QC-variable of A such that A1: ( a = y & y in still_not-bound_in p ) and A2: ( y is Element of dom Sub & y <> x & y <> Sub . y ) ; y in { y where y is bound_QC-variable of A : ( y is Element of dom Sub & y <> x & y <> Sub . y ) } by A2; hence a in Z /\ { y where y is bound_QC-variable of A : ( y is Element of dom Sub & y <> x & y <> Sub . y ) } by A1, XBOOLE_0:def_4; ::_thesis: verum end; thus ( a in Z /\ { y where y is bound_QC-variable of A : ( y is Element of dom Sub & y <> x & y <> Sub . y ) } implies a in { y where y is bound_QC-variable of A : ( y in still_not-bound_in p & y is Element of dom Sub & y <> x & y <> Sub . y ) } ) ::_thesis: verum proof assume A3: a in Z /\ { y where y is bound_QC-variable of A : ( y is Element of dom Sub & y <> x & y <> Sub . y ) } ; ::_thesis: a in { y where y is bound_QC-variable of A : ( y in still_not-bound_in p & y is Element of dom Sub & y <> x & y <> Sub . y ) } then a in { y where y is bound_QC-variable of A : ( y is Element of dom Sub & y <> x & y <> Sub . y ) } by XBOOLE_0:def_4; then A4: ex y being bound_QC-variable of A st ( a = y & y is Element of dom Sub & y <> x & y <> Sub . y ) ; a in Z by A3, XBOOLE_0:def_4; hence a in { y where y is bound_QC-variable of A : ( y in still_not-bound_in p & y is Element of dom Sub & y <> x & y <> Sub . y ) } by A4; ::_thesis: verum end; end; then reconsider X = { y where y is bound_QC-variable of A : ( y in still_not-bound_in p & y is Element of dom Sub & y <> x & y <> Sub . y ) } as finite set by TARSKI:1; Sub | X is finite ; hence Sub | { y where y is bound_QC-variable of A : ( y in still_not-bound_in p & y is Element of dom Sub & y <> x & y <> Sub . y ) } is finite CQC_Substitution of A ; ::_thesis: verum end; end; :: deftheorem defines RestrictSub SUBSTUT1:def_6_:_ for A being QC-alphabet for x being bound_QC-variable of A for p being QC-formula of A for Sub being CQC_Substitution of A holds RestrictSub (x,p,Sub) = Sub | { y where y is bound_QC-variable of A : ( y in still_not-bound_in p & y is Element of dom Sub & y <> x & y <> Sub . y ) } ; definition let A be QC-alphabet ; let l1 be FinSequence of QC-variables A; func Bound_Vars l1 -> Subset of (bound_QC-variables A) equals :: SUBSTUT1:def 7 { (l1 . k) where k is Element of NAT : ( 1 <= k & k <= len l1 & l1 . k in bound_QC-variables A ) } ; coherence { (l1 . k) where k is Element of NAT : ( 1 <= k & k <= len l1 & l1 . k in bound_QC-variables A ) } is Subset of (bound_QC-variables A) proof set A2 = { (l1 . k) where k is Element of NAT : ( 1 <= k & k <= len l1 & l1 . k in bound_QC-variables A ) } ; { (l1 . k) where k is Element of NAT : ( 1 <= k & k <= len l1 & l1 . k in bound_QC-variables A ) } c= bound_QC-variables A proof let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in { (l1 . k) where k is Element of NAT : ( 1 <= k & k <= len l1 & l1 . k in bound_QC-variables A ) } or x in bound_QC-variables A ) assume x in { (l1 . k) where k is Element of NAT : ( 1 <= k & k <= len l1 & l1 . k in bound_QC-variables A ) } ; ::_thesis: x in bound_QC-variables A then ex k being Element of NAT st ( l1 . k = x & 1 <= k & k <= len l1 & l1 . k in bound_QC-variables A ) ; hence x in bound_QC-variables A ; ::_thesis: verum end; hence { (l1 . k) where k is Element of NAT : ( 1 <= k & k <= len l1 & l1 . k in bound_QC-variables A ) } is Subset of (bound_QC-variables A) ; ::_thesis: verum end; end; :: deftheorem defines Bound_Vars SUBSTUT1:def_7_:_ for A being QC-alphabet for l1 being FinSequence of QC-variables A holds Bound_Vars l1 = { (l1 . k) where k is Element of NAT : ( 1 <= k & k <= len l1 & l1 . k in bound_QC-variables A ) } ; definition let A be QC-alphabet ; let p be QC-formula of A; func Bound_Vars p -> Subset of (bound_QC-variables A) means :Def8: :: SUBSTUT1:def 8 ex F being Function of (QC-WFF A),(bool (bound_QC-variables A)) st ( it = F . p & ( for p being Element of QC-WFF A for d1, d2 being Subset of (bound_QC-variables A) holds ( ( p = VERUM A implies F . p = {} (bound_QC-variables A) ) & ( p is atomic implies F . p = Bound_Vars (the_arguments_of p) ) & ( p is negative & d1 = F . (the_argument_of p) implies F . p = d1 ) & ( p is conjunctive & d1 = F . (the_left_argument_of p) & d2 = F . (the_right_argument_of p) implies F . p = d1 \/ d2 ) & ( p is universal & d1 = F . (the_scope_of p) implies F . p = d1 \/ {(bound_in p)} ) ) ) ); correctness existence ex b1 being Subset of (bound_QC-variables A) ex F being Function of (QC-WFF A),(bool (bound_QC-variables A)) st ( b1 = F . p & ( for p being Element of QC-WFF A for d1, d2 being Subset of (bound_QC-variables A) holds ( ( p = VERUM A implies F . p = {} (bound_QC-variables A) ) & ( p is atomic implies F . p = Bound_Vars (the_arguments_of p) ) & ( p is negative & d1 = F . (the_argument_of p) implies F . p = d1 ) & ( p is conjunctive & d1 = F . (the_left_argument_of p) & d2 = F . (the_right_argument_of p) implies F . p = d1 \/ d2 ) & ( p is universal & d1 = F . (the_scope_of p) implies F . p = d1 \/ {(bound_in p)} ) ) ) ); uniqueness for b1, b2 being Subset of (bound_QC-variables A) st ex F being Function of (QC-WFF A),(bool (bound_QC-variables A)) st ( b1 = F . p & ( for p being Element of QC-WFF A for d1, d2 being Subset of (bound_QC-variables A) holds ( ( p = VERUM A implies F . p = {} (bound_QC-variables A) ) & ( p is atomic implies F . p = Bound_Vars (the_arguments_of p) ) & ( p is negative & d1 = F . (the_argument_of p) implies F . p = d1 ) & ( p is conjunctive & d1 = F . (the_left_argument_of p) & d2 = F . (the_right_argument_of p) implies F . p = d1 \/ d2 ) & ( p is universal & d1 = F . (the_scope_of p) implies F . p = d1 \/ {(bound_in p)} ) ) ) ) & ex F being Function of (QC-WFF A),(bool (bound_QC-variables A)) st ( b2 = F . p & ( for p being Element of QC-WFF A for d1, d2 being Subset of (bound_QC-variables A) holds ( ( p = VERUM A implies F . p = {} (bound_QC-variables A) ) & ( p is atomic implies F . p = Bound_Vars (the_arguments_of p) ) & ( p is negative & d1 = F . (the_argument_of p) implies F . p = d1 ) & ( p is conjunctive & d1 = F . (the_left_argument_of p) & d2 = F . (the_right_argument_of p) implies F . p = d1 \/ d2 ) & ( p is universal & d1 = F . (the_scope_of p) implies F . p = d1 \/ {(bound_in p)} ) ) ) ) holds b1 = b2; proof deffunc H1( Element of QC-WFF A) -> Subset of (bound_QC-variables A) = Bound_Vars (the_arguments_of $1); set V = bound_QC-variables A; deffunc H2( Subset of (bound_QC-variables A)) -> Subset of (bound_QC-variables A) = $1; deffunc H3( Subset of (bound_QC-variables A), Subset of (bound_QC-variables A)) -> Element of bool (bound_QC-variables A) = $1 \/ $2; deffunc H4( Element of QC-WFF A, Subset of (bound_QC-variables A)) -> Element of bool (bound_QC-variables A) = $2 \/ {(bound_in $1)}; thus ( ex d being Subset of (bound_QC-variables A) ex F being Function of (QC-WFF A),(bool (bound_QC-variables A)) st ( d = F . p & ( for p being Element of QC-WFF A for d1, d2 being Subset of (bound_QC-variables A) holds ( ( p = VERUM A implies F . p = {} (bound_QC-variables A) ) & ( p is atomic implies F . p = H1(p) ) & ( p is negative & d1 = F . (the_argument_of p) implies F . p = H2(d1) ) & ( p is conjunctive & d1 = F . (the_left_argument_of p) & d2 = F . (the_right_argument_of p) implies F . p = H3(d1,d2) ) & ( p is universal & d1 = F . (the_scope_of p) implies F . p = H4(p,d1) ) ) ) ) & ( for x1, x2 being Subset of (bound_QC-variables A) st ex F being Function of (QC-WFF A),(bool (bound_QC-variables A)) st ( x1 = F . p & ( for p being Element of QC-WFF A for d1, d2 being Subset of (bound_QC-variables A) holds ( ( p = VERUM A implies F . p = {} (bound_QC-variables A) ) & ( p is atomic implies F . p = H1(p) ) & ( p is negative & d1 = F . (the_argument_of p) implies F . p = H2(d1) ) & ( p is conjunctive & d1 = F . (the_left_argument_of p) & d2 = F . (the_right_argument_of p) implies F . p = H3(d1,d2) ) & ( p is universal & d1 = F . (the_scope_of p) implies F . p = H4(p,d1) ) ) ) ) & ex F being Function of (QC-WFF A),(bool (bound_QC-variables A)) st ( x2 = F . p & ( for p being Element of QC-WFF A for d1, d2 being Subset of (bound_QC-variables A) holds ( ( p = VERUM A implies F . p = {} (bound_QC-variables A) ) & ( p is atomic implies F . p = H1(p) ) & ( p is negative & d1 = F . (the_argument_of p) implies F . p = H2(d1) ) & ( p is conjunctive & d1 = F . (the_left_argument_of p) & d2 = F . (the_right_argument_of p) implies F . p = H3(d1,d2) ) & ( p is universal & d1 = F . (the_scope_of p) implies F . p = H4(p,d1) ) ) ) ) holds x1 = x2 ) ) from QC_LANG3:sch_2(); ::_thesis: verum end; end; :: deftheorem Def8 defines Bound_Vars SUBSTUT1:def_8_:_ for A being QC-alphabet for p being QC-formula of A for b3 being Subset of (bound_QC-variables A) holds ( b3 = Bound_Vars p iff ex F being Function of (QC-WFF A),(bool (bound_QC-variables A)) st ( b3 = F . p & ( for p being Element of QC-WFF A for d1, d2 being Subset of (bound_QC-variables A) holds ( ( p = VERUM A implies F . p = {} (bound_QC-variables A) ) & ( p is atomic implies F . p = Bound_Vars (the_arguments_of p) ) & ( p is negative & d1 = F . (the_argument_of p) implies F . p = d1 ) & ( p is conjunctive & d1 = F . (the_left_argument_of p) & d2 = F . (the_right_argument_of p) implies F . p = d1 \/ d2 ) & ( p is universal & d1 = F . (the_scope_of p) implies F . p = d1 \/ {(bound_in p)} ) ) ) ) ); Lm1: for A being QC-alphabet for p being QC-formula of A holds ( Bound_Vars (VERUM A) = {} (bound_QC-variables A) & ( 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)} ) ) proof let A be QC-alphabet ; ::_thesis: for p being QC-formula of A holds ( Bound_Vars (VERUM A) = {} (bound_QC-variables A) & ( 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)} ) ) let p be QC-formula of A; ::_thesis: ( Bound_Vars (VERUM A) = {} (bound_QC-variables A) & ( 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 A) -> Subset of (bound_QC-variables A) = Bound_Vars (the_arguments_of $1); deffunc H2( Element of QC-WFF A) -> Subset of (bound_QC-variables A) = Bound_Vars $1; set V = bound_QC-variables A; deffunc H3( Subset of (bound_QC-variables A)) -> Subset of (bound_QC-variables A) = $1; deffunc H4( Subset of (bound_QC-variables A), Subset of (bound_QC-variables A)) -> Element of bool (bound_QC-variables A) = $1 \/ $2; deffunc H5( Element of QC-WFF A, Subset of (bound_QC-variables A)) -> Element of bool (bound_QC-variables A) = $2 \/ {(bound_in $1)}; A1: for p being QC-formula of A for X being Subset of (bound_QC-variables A) holds ( X = H2(p) iff ex F being Function of (QC-WFF A),(bool (bound_QC-variables A)) st ( X = F . p & ( for p being Element of QC-WFF A for d1, d2 being Subset of (bound_QC-variables A) holds ( ( p = VERUM A implies F . p = {} (bound_QC-variables A) ) & ( 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 A) = {} (bound_QC-variables A) from QC_LANG3:sch_3(A1) .= {} ; hence Bound_Vars (VERUM A) = {} (bound_QC-variables A) ; ::_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 assume A2: p is atomic ; ::_thesis: Bound_Vars p = Bound_Vars (the_arguments_of p) thus H2(p) = H1(p) from QC_LANG3:sch_4(A1, A2); ::_thesis: verum 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 assume A3: p is negative ; ::_thesis: Bound_Vars p = Bound_Vars (the_argument_of p) thus H2(p) = H3(H2( the_argument_of p)) from QC_LANG3:sch_5(A1, A3); ::_thesis: verum 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 assume A4: p is conjunctive ; ::_thesis: Bound_Vars p = (Bound_Vars (the_left_argument_of p)) \/ (Bound_Vars (the_right_argument_of p)) for d1, d2 being Subset of (bound_QC-variables A) st d1 = H2( the_left_argument_of p) & d2 = H2( the_right_argument_of p) holds H2(p) = H4(d1,d2) from QC_LANG3:sch_6(A1, A4); hence Bound_Vars p = (Bound_Vars (the_left_argument_of p)) \/ (Bound_Vars (the_right_argument_of p)) ; ::_thesis: verum end; thus ( p is universal implies Bound_Vars p = (Bound_Vars (the_scope_of p)) \/ {(bound_in p)} ) ::_thesis: verum proof assume A5: p is universal ; ::_thesis: Bound_Vars p = (Bound_Vars (the_scope_of p)) \/ {(bound_in p)} thus H2(p) = H5(p,H2( the_scope_of p)) from QC_LANG3:sch_7(A1, A5); ::_thesis: verum end; end; theorem Th2: :: SUBSTUT1:2 for A being QC-alphabet holds Bound_Vars (VERUM A) = {} proof let A be QC-alphabet ; ::_thesis: Bound_Vars (VERUM A) = {} Bound_Vars (VERUM A) = {} (bound_QC-variables A) by Lm1; hence Bound_Vars (VERUM A) = {} ; ::_thesis: verum end; theorem :: SUBSTUT1:3 for A being QC-alphabet for p being QC-formula of A st p is atomic holds Bound_Vars p = Bound_Vars (the_arguments_of p) by Lm1; theorem :: SUBSTUT1:4 for A being QC-alphabet for p being QC-formula of A st p is negative holds Bound_Vars p = Bound_Vars (the_argument_of p) by Lm1; theorem :: SUBSTUT1:5 for A being QC-alphabet for p being QC-formula of A st p is conjunctive holds Bound_Vars p = (Bound_Vars (the_left_argument_of p)) \/ (Bound_Vars (the_right_argument_of p)) by Lm1; theorem :: SUBSTUT1:6 for A being QC-alphabet for p being QC-formula of A st p is universal holds Bound_Vars p = (Bound_Vars (the_scope_of p)) \/ {(bound_in p)} by Lm1; registration let A be QC-alphabet ; let p be QC-formula of A; cluster Bound_Vars p -> finite ; coherence Bound_Vars p is finite proof defpred S1[ Element of QC-WFF A] means Bound_Vars A is finite ; A1: for p being Element of QC-WFF A holds ( ( p is atomic implies S1[p] ) & S1[ VERUM A] & ( 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 A; ::_thesis: ( ( p is atomic implies S1[p] ) & S1[ VERUM A] & ( 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 A] & ( 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) . A; defpred S2[ Element of NAT ] means ( 1 <= A & A <= len (the_arguments_of p) ); defpred S3[ Element of NAT ] means ( 1 <= A & A <= len (the_arguments_of p) & (the_arguments_of p) . A in bound_QC-variables A ); 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 A ) } ; 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 A) is finite by Th2; ::_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 assume that A4: p is conjunctive and A5: ( Bound_Vars (the_left_argument_of p) is finite & Bound_Vars (the_right_argument_of p) is finite ) ; ::_thesis: Bound_Vars p is finite Bound_Vars p = (Bound_Vars (the_left_argument_of p)) \/ (Bound_Vars (the_right_argument_of p)) by A4, Lm1; hence Bound_Vars p is finite by A5; ::_thesis: verum 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 A holds S1[p] from QC_LANG1:sch_2(A1); hence Bound_Vars p is finite ; ::_thesis: verum end; end; definition let A be QC-alphabet ; let p be QC-formula of A; func Dom_Bound_Vars p -> finite Subset of (QC-symbols A) equals :: SUBSTUT1:def 9 { s where s is QC-symbol of A : x. s in Bound_Vars p } ; coherence { s where s is QC-symbol of A : x. s in Bound_Vars p } is finite Subset of (QC-symbols A) proof defpred S1[ set , set ] means ex s being QC-symbol of A st ( s = $1 & $2 = x. s ); set X = { s where s is QC-symbol of A : x. s in Bound_Vars p } ; A1: { s where s is QC-symbol of A : x. s in Bound_Vars p } c= QC-symbols A proof let a be set ; :: according to TARSKI:def_3 ::_thesis: ( not a in { s where s is QC-symbol of A : x. s in Bound_Vars p } or a in QC-symbols A ) assume a in { s where s is QC-symbol of A : x. s in Bound_Vars p } ; ::_thesis: a in QC-symbols A then ex s being QC-symbol of A st ( a = s & x. s in Bound_Vars p ) ; hence a in QC-symbols A ; ::_thesis: verum end; A2: for a being set st a in QC-symbols A holds ex b being set st S1[a,b] proof let a be set ; ::_thesis: ( a in QC-symbols A implies ex b being set st S1[a,b] ) assume a in QC-symbols A ; ::_thesis: ex b being set st S1[a,b] then reconsider s = a as QC-symbol of A ; take x. s ; ::_thesis: S1[a, x. s] take s ; ::_thesis: ( s = a & x. s = x. s ) thus ( s = a & x. s = x. s ) ; ::_thesis: verum end; consider f being Function such that A3: ( dom f = QC-symbols A & ( for a being set st a in QC-symbols A holds S1[a,f . a] ) ) from CLASSES1:sch_1(A2); A4: rng (f | { s where s is QC-symbol of A : x. s in Bound_Vars p } ) c= Bound_Vars p proof let b be set ; :: according to TARSKI:def_3 ::_thesis: ( not b in rng (f | { s where s is QC-symbol of A : x. s in Bound_Vars p } ) or b in Bound_Vars p ) assume b in rng (f | { s where s is QC-symbol of A : x. s in Bound_Vars p } ) ; ::_thesis: b in Bound_Vars p then consider a being set such that A5: a in dom (f | { s where s is QC-symbol of A : x. s in Bound_Vars p } ) and A6: b = (f | { s where s is QC-symbol of A : x. s in Bound_Vars p } ) . a by FUNCT_1:def_3; a in { s where s is QC-symbol of A : x. s in Bound_Vars p } by A5, RELAT_1:57; then A7: ex s being QC-symbol of A st ( a = s & x. s in Bound_Vars p ) ; ( b = f . a & a in dom f ) by A5, A6, FUNCT_1:47, RELAT_1:57; then ex s being QC-symbol of A st ( s = a & b = x. s ) by A3; hence b in Bound_Vars p by A7; ::_thesis: verum end; f is one-to-one proof let a1, a2 be set ; :: according to FUNCT_1:def_4 ::_thesis: ( not a1 in proj1 f or not a2 in proj1 f or not f . a1 = f . a2 or a1 = a2 ) assume that A8: ( a1 in dom f & a2 in dom f ) and A9: f . a1 = f . a2 ; ::_thesis: a1 = a2 ( ex s being QC-symbol of A st ( s = a1 & f . a1 = x. s ) & ex t being QC-symbol of A st ( t = a2 & f . a2 = x. t ) ) by A3, A8; hence a1 = a2 by A9, XTUPLE_0:1; ::_thesis: verum end; then f | { s where s is QC-symbol of A : x. s in Bound_Vars p } is one-to-one by FUNCT_1:52; then A10: dom (f | { s where s is QC-symbol of A : x. s in Bound_Vars p } ) is finite by A4, CARD_1:59; reconsider X = { s where s is QC-symbol of A : x. s in Bound_Vars p } as Subset of (QC-symbols A) by A1; for a being set holds ( a in dom (f | X) iff ( a in X & a in dom f ) ) by RELAT_1:57; then dom (f | X) = X /\ (QC-symbols A) by A3, XBOOLE_0:def_4; hence { s where s is QC-symbol of A : x. s in Bound_Vars p } is finite Subset of (QC-symbols A) by A10, XBOOLE_1:28; ::_thesis: verum end; end; :: deftheorem defines Dom_Bound_Vars SUBSTUT1:def_9_:_ for A being QC-alphabet for p being QC-formula of A holds Dom_Bound_Vars p = { s where s is QC-symbol of A : x. s in Bound_Vars p } ; definition let A be QC-alphabet ; let finSub be finite CQC_Substitution of A; func Sub_Var finSub -> finite Subset of (QC-symbols A) equals :: SUBSTUT1:def 10 { s where s is QC-symbol of A : x. s in rng finSub } ; coherence { s where s is QC-symbol of A : x. s in rng finSub } is finite Subset of (QC-symbols A) proof defpred S1[ set , set ] means ex s being QC-symbol of A st ( s = $1 & $2 = x. s ); set X = { s where s is QC-symbol of A : x. s in rng finSub } ; A1: { s where s is QC-symbol of A : x. s in rng finSub } c= QC-symbols A proof let a be set ; :: according to TARSKI:def_3 ::_thesis: ( not a in { s where s is QC-symbol of A : x. s in rng finSub } or a in QC-symbols A ) assume a in { s where s is QC-symbol of A : x. s in rng finSub } ; ::_thesis: a in QC-symbols A then ex s being QC-symbol of A st ( a = s & x. s in rng finSub ) ; hence a in QC-symbols A ; ::_thesis: verum end; A2: for a being set st a in QC-symbols A holds ex b being set st S1[a,b] proof let a be set ; ::_thesis: ( a in QC-symbols A implies ex b being set st S1[a,b] ) assume a in QC-symbols A ; ::_thesis: ex b being set st S1[a,b] then reconsider s = a as QC-symbol of A ; take x. s ; ::_thesis: S1[a, x. s] take s ; ::_thesis: ( s = a & x. s = x. s ) thus ( s = a & x. s = x. s ) ; ::_thesis: verum end; consider f being Function such that A3: ( dom f = QC-symbols A & ( for a being set st a in QC-symbols A holds S1[a,f . a] ) ) from CLASSES1:sch_1(A2); A4: rng (f | { s where s is QC-symbol of A : x. s in rng finSub } ) c= rng finSub proof let b be set ; :: according to TARSKI:def_3 ::_thesis: ( not b in rng (f | { s where s is QC-symbol of A : x. s in rng finSub } ) or b in rng finSub ) assume b in rng (f | { s where s is QC-symbol of A : x. s in rng finSub } ) ; ::_thesis: b in rng finSub then consider a being set such that A5: a in dom (f | { s where s is QC-symbol of A : x. s in rng finSub } ) and A6: b = (f | { s where s is QC-symbol of A : x. s in rng finSub } ) . a by FUNCT_1:def_3; a in { s where s is QC-symbol of A : x. s in rng finSub } by A5, RELAT_1:57; then A7: ex s being QC-symbol of A st ( a = s & x. s in rng finSub ) ; ( b = f . a & a in dom f ) by A5, A6, FUNCT_1:47, RELAT_1:57; then ex s being QC-symbol of A st ( s = a & b = x. s ) by A3; hence b in rng finSub by A7; ::_thesis: verum end; f is one-to-one proof let a1, a2 be set ; :: according to FUNCT_1:def_4 ::_thesis: ( not a1 in proj1 f or not a2 in proj1 f or not f . a1 = f . a2 or a1 = a2 ) assume that A8: ( a1 in dom f & a2 in dom f ) and A9: f . a1 = f . a2 ; ::_thesis: a1 = a2 ( ex s being QC-symbol of A st ( s = a1 & f . a1 = x. s ) & ex t being QC-symbol of A st ( t = a2 & f . a2 = x. t ) ) by A3, A8; hence a1 = a2 by A9, XTUPLE_0:1; ::_thesis: verum end; then f | { s where s is QC-symbol of A : x. s in rng finSub } is one-to-one by FUNCT_1:52; then A10: dom (f | { s where s is QC-symbol of A : x. s in rng finSub } ) is finite by A4, CARD_1:59; reconsider X = { s where s is QC-symbol of A : x. s in rng finSub } as Subset of (QC-symbols A) by A1; for a being set holds ( a in dom (f | X) iff ( a in X & a in dom f ) ) by RELAT_1:57; then dom (f | X) = X /\ (QC-symbols A) by A3, XBOOLE_0:def_4; hence { s where s is QC-symbol of A : x. s in rng finSub } is finite Subset of (QC-symbols A) by A10, XBOOLE_1:28; ::_thesis: verum end; end; :: deftheorem defines Sub_Var SUBSTUT1:def_10_:_ for A being QC-alphabet for finSub being finite CQC_Substitution of A holds Sub_Var finSub = { s where s is QC-symbol of A : x. s in rng finSub } ; Lm2: for X, Y being set st card X in card Y holds Y \ X <> {} proof let X, Y be set ; ::_thesis: ( card X in card Y implies Y \ X <> {} ) assume that A1: card X in card Y and A2: Y \ X = {} ; ::_thesis: contradiction Y c= X by A2, XBOOLE_1:37; then card Y c= card X by CARD_1:11; hence contradiction by A1, CARD_1:4; ::_thesis: verum end; definition let A be QC-alphabet ; let p be QC-formula of A; let finSub be finite CQC_Substitution of A; func NSub (p,finSub) -> non empty Subset of (QC-symbols A) equals :: SUBSTUT1:def 11 NAT \ ((Dom_Bound_Vars p) \/ (Sub_Var finSub)); coherence NAT \ ((Dom_Bound_Vars p) \/ (Sub_Var finSub)) is non empty Subset of (QC-symbols A) proof set X = (Dom_Bound_Vars p) \/ (Sub_Var finSub); card ((Dom_Bound_Vars p) \/ (Sub_Var finSub)) in card NAT by CARD_3:42; hence NAT \ ((Dom_Bound_Vars p) \/ (Sub_Var finSub)) is non empty Subset of (QC-symbols A) by Lm2, QC_LANG1:3, XBOOLE_1:109; ::_thesis: verum end; end; :: deftheorem defines NSub SUBSTUT1:def_11_:_ for A being QC-alphabet for p being QC-formula of A for finSub being finite CQC_Substitution of A holds NSub (p,finSub) = NAT \ ((Dom_Bound_Vars p) \/ (Sub_Var finSub)); definition let A be QC-alphabet ; let finSub be finite CQC_Substitution of A; let p be QC-formula of A; func upVar (finSub,p) -> QC-symbol of A equals :: SUBSTUT1:def 12 the Element of NSub (p,finSub); coherence the Element of NSub (p,finSub) is QC-symbol of A ; end; :: deftheorem defines upVar SUBSTUT1:def_12_:_ for A being QC-alphabet for finSub being finite CQC_Substitution of A for p being QC-formula of A holds upVar (finSub,p) = the Element of NSub (p,finSub); definition let A be QC-alphabet ; let x be bound_QC-variable of A; let p be QC-formula of A; let finSub be finite CQC_Substitution of A; assume A1: ex Sub being CQC_Substitution of A st finSub = RestrictSub (x,(All (x,p)),Sub) ; func ExpandSub (x,p,finSub) -> CQC_Substitution of A equals :: SUBSTUT1:def 13 finSub \/ {[x,(x. (upVar (finSub,p)))]} if x in rng finSub otherwise finSub \/ {[x,x]}; coherence ( ( x in rng finSub implies finSub \/ {[x,(x. (upVar (finSub,p)))]} is CQC_Substitution of A ) & ( not x in rng finSub implies finSub \/ {[x,x]} is CQC_Substitution of A ) ) proof A2: now__::_thesis:_(_not_x_in_rng_finSub_implies_finSub_\/_{[x,x]}_is_CQC_Substitution_of_A_) reconsider Z = {[x,x]} as Relation-like set ; assume not x in rng finSub ; ::_thesis: finSub \/ {[x,x]} is CQC_Substitution of A A3: now__::_thesis:_for_a_being_set_holds_not_a_in_(dom_finSub)_/\_(dom_Z) consider Sub being CQC_Substitution of A such that A4: finSub = RestrictSub (x,(All (x,p)),Sub) by A1; set X = { y where y is bound_QC-variable of A : ( y in still_not-bound_in (All (x,p)) & y is Element of dom Sub & y <> x & y <> Sub . y ) } ; A5: dom finSub c= { y where y is bound_QC-variable of A : ( y in still_not-bound_in (All (x,p)) & y is Element of dom Sub & y <> x & y <> Sub . y ) } by A4, RELAT_1:58; given a being set such that A6: a in (dom finSub) /\ (dom Z) ; ::_thesis: contradiction a in dom finSub by A6, XBOOLE_0:def_4; then a in { y where y is bound_QC-variable of A : ( y in still_not-bound_in (All (x,p)) & y is Element of dom Sub & y <> x & y <> Sub . y ) } by A5; then A7: ( dom Z = {x} & ex y being bound_QC-variable of A st ( a = y & y in still_not-bound_in (All (x,p)) & y is Element of dom Sub & y <> x & y <> Sub . y ) ) by RELAT_1:9; a in dom Z by A6, XBOOLE_0:def_4; hence contradiction by A7, TARSKI:def_1; ::_thesis: verum end; reconsider Z = Z as Function ; for a being set st a in (dom (@ finSub)) /\ (dom Z) holds (@ finSub) . a = Z . a by A3; then consider h being Function such that A8: (@ finSub) \/ Z = h by PARTFUN1:1; reconsider Z = Z as Relation of (bound_QC-variables A),(bound_QC-variables A) ; (@ finSub) \/ Z = h by A8; hence finSub \/ {[x,x]} is CQC_Substitution of A by PARTFUN1:45; ::_thesis: verum end; now__::_thesis:_(_x_in_rng_finSub_implies_finSub_\/_{[x,(x._(upVar_(finSub,p)))]}_is_CQC_Substitution_of_A_) reconsider Z = {[x,(x. (upVar (finSub,p)))]} as Relation-like set ; assume x in rng finSub ; ::_thesis: finSub \/ {[x,(x. (upVar (finSub,p)))]} is CQC_Substitution of A A9: now__::_thesis:_for_a_being_set_holds_not_a_in_(dom_finSub)_/\_(dom_Z) consider Sub being CQC_Substitution of A such that A10: finSub = RestrictSub (x,(All (x,p)),Sub) by A1; set X = { y where y is bound_QC-variable of A : ( y in still_not-bound_in (All (x,p)) & y is Element of dom Sub & y <> x & y <> Sub . y ) } ; A11: dom finSub c= { y where y is bound_QC-variable of A : ( y in still_not-bound_in (All (x,p)) & y is Element of dom Sub & y <> x & y <> Sub . y ) } by A10, RELAT_1:58; given a being set such that A12: a in (dom finSub) /\ (dom Z) ; ::_thesis: contradiction a in dom finSub by A12, XBOOLE_0:def_4; then a in { y where y is bound_QC-variable of A : ( y in still_not-bound_in (All (x,p)) & y is Element of dom Sub & y <> x & y <> Sub . y ) } by A11; then A13: ( dom Z = {x} & ex y being bound_QC-variable of A st ( a = y & y in still_not-bound_in (All (x,p)) & y is Element of dom Sub & y <> x & y <> Sub . y ) ) by RELAT_1:9; a in dom Z by A12, XBOOLE_0:def_4; hence contradiction by A13, TARSKI:def_1; ::_thesis: verum end; reconsider Z = Z as Function ; for a being set st a in (dom (@ finSub)) /\ (dom Z) holds (@ finSub) . a = Z . a by A9; then consider h being Function such that A14: (@ finSub) \/ Z = h by PARTFUN1:1; reconsider Z = Z as Relation of (bound_QC-variables A),(bound_QC-variables A) ; (@ finSub) \/ Z = h by A14; hence finSub \/ {[x,(x. (upVar (finSub,p)))]} is CQC_Substitution of A by PARTFUN1:45; ::_thesis: verum end; hence ( ( x in rng finSub implies finSub \/ {[x,(x. (upVar (finSub,p)))]} is CQC_Substitution of A ) & ( not x in rng finSub implies finSub \/ {[x,x]} is CQC_Substitution of A ) ) by A2; ::_thesis: verum end; consistency for b1 being CQC_Substitution of A holds verum ; end; :: deftheorem defines ExpandSub SUBSTUT1:def_13_:_ for A being QC-alphabet for x being bound_QC-variable of A for p being QC-formula of A for finSub being finite CQC_Substitution of A st ex Sub being CQC_Substitution of A st finSub = RestrictSub (x,(All (x,p)),Sub) holds ( ( x in rng finSub implies ExpandSub (x,p,finSub) = finSub \/ {[x,(x. (upVar (finSub,p)))]} ) & ( not x in rng finSub implies ExpandSub (x,p,finSub) = finSub \/ {[x,x]} ) ); definition let A be QC-alphabet ; let p be QC-formula of A; let Sub be CQC_Substitution of A; let b be set ; predp,Sub PQSub b means :Def14: :: SUBSTUT1:def 14 ( ( p is universal implies b = ExpandSub ((bound_in p),(the_scope_of p),(RestrictSub ((bound_in p),p,Sub))) ) & ( not p is universal implies b = {} ) ); end; :: deftheorem Def14 defines PQSub SUBSTUT1:def_14_:_ for A being QC-alphabet for p being QC-formula of A for Sub being CQC_Substitution of A for b being set holds ( p,Sub PQSub b iff ( ( p is universal implies b = ExpandSub ((bound_in p),(the_scope_of p),(RestrictSub ((bound_in p),p,Sub))) ) & ( not p is universal implies b = {} ) ) ); definition let A be QC-alphabet ; func QSub A -> Function means :: SUBSTUT1:def 15 for a being set holds ( a in it iff ex p being QC-formula of A ex Sub being CQC_Substitution of A ex b being set st ( a = [[p,Sub],b] & p,Sub PQSub b ) ); existence ex b1 being Function st for a being set holds ( a in b1 iff ex p being QC-formula of A ex Sub being CQC_Substitution of A ex b being set st ( a = [[p,Sub],b] & p,Sub PQSub b ) ) proof defpred S1[ set , set ] means ex p being QC-formula of A ex Sub being CQC_Substitution of A st ( $1 = [p,Sub] & p,Sub PQSub $2 ); A1: for a, b1, b2 being set st S1[a,b1] & S1[a,b2] holds b1 = b2 proof let a, b1, b2 be set ; ::_thesis: ( S1[a,b1] & S1[a,b2] implies b1 = b2 ) assume that A2: ex p being QC-formula of A ex Sub being CQC_Substitution of A st ( a = [p,Sub] & p,Sub PQSub b1 ) and A3: ex p being QC-formula of A ex Sub being CQC_Substitution of A st ( a = [p,Sub] & p,Sub PQSub b2 ) ; ::_thesis: b1 = b2 consider p1 being QC-formula of A, Sub1 being CQC_Substitution of A such that A4: a = [p1,Sub1] and A5: p1,Sub1 PQSub b1 by A2; consider p2 being QC-formula of A, Sub2 being CQC_Substitution of A such that A6: a = [p2,Sub2] and A7: p2,Sub2 PQSub b2 by A3; A8: p1 = p2 by A4, A6, XTUPLE_0:1; A9: Sub1 = Sub2 by A4, A6, XTUPLE_0:1; percases ( p1 is universal or not p1 is universal ) ; supposeA10: p1 is universal ; ::_thesis: b1 = b2 then b1 = ExpandSub ((bound_in p1),(the_scope_of p1),(RestrictSub ((bound_in p1),p1,Sub1))) by A5, Def14; hence b1 = b2 by A7, A8, A9, A10, Def14; ::_thesis: verum end; supposeA11: not p1 is universal ; ::_thesis: b1 = b2 then b1 = {} by A5, Def14; hence b1 = b2 by A7, A8, A11, Def14; ::_thesis: verum end; end; end; consider f being Function such that A12: for a, b being set holds ( [a,b] in f iff ( a in [:(QC-WFF A),(vSUB A):] & S1[a,b] ) ) from FUNCT_1:sch_1(A1); take f ; ::_thesis: for a being set holds ( a in f iff ex p being QC-formula of A ex Sub being CQC_Substitution of A ex b being set st ( a = [[p,Sub],b] & p,Sub PQSub b ) ) for c being set holds ( c in f iff ex p being QC-formula of A ex Sub being CQC_Substitution of A ex b being set st ( c = [[p,Sub],b] & p,Sub PQSub b ) ) proof let c be set ; ::_thesis: ( c in f iff ex p being QC-formula of A ex Sub being CQC_Substitution of A ex b being set st ( c = [[p,Sub],b] & p,Sub PQSub b ) ) thus ( c in f implies ex p being QC-formula of A ex Sub being CQC_Substitution of A ex b being set st ( c = [[p,Sub],b] & p,Sub PQSub b ) ) ::_thesis: ( ex p being QC-formula of A ex Sub being CQC_Substitution of A ex b being set st ( c = [[p,Sub],b] & p,Sub PQSub b ) implies c in f ) proof assume A13: c in f ; ::_thesis: ex p being QC-formula of A ex Sub being CQC_Substitution of A ex b being set st ( c = [[p,Sub],b] & p,Sub PQSub b ) then consider a, b being set such that A14: c = [a,b] by RELAT_1:def_1; ex p being QC-formula of A ex Sub being CQC_Substitution of A st ( a = [p,Sub] & p,Sub PQSub b ) by A12, A13, A14; hence ex p being QC-formula of A ex Sub being CQC_Substitution of A ex b being set st ( c = [[p,Sub],b] & p,Sub PQSub b ) by A14; ::_thesis: verum end; thus ( ex p being QC-formula of A ex Sub being CQC_Substitution of A ex b being set st ( c = [[p,Sub],b] & p,Sub PQSub b ) implies c in f ) by A12; ::_thesis: verum end; hence for a being set holds ( a in f iff ex p being QC-formula of A ex Sub being CQC_Substitution of A ex b being set st ( a = [[p,Sub],b] & p,Sub PQSub b ) ) ; ::_thesis: verum end; uniqueness for b1, b2 being Function st ( for a being set holds ( a in b1 iff ex p being QC-formula of A ex Sub being CQC_Substitution of A ex b being set st ( a = [[p,Sub],b] & p,Sub PQSub b ) ) ) & ( for a being set holds ( a in b2 iff ex p being QC-formula of A ex Sub being CQC_Substitution of A ex b being set st ( a = [[p,Sub],b] & p,Sub PQSub b ) ) ) holds b1 = b2 proof let F1, F2 be Function; ::_thesis: ( ( for a being set holds ( a in F1 iff ex p being QC-formula of A ex Sub being CQC_Substitution of A ex b being set st ( a = [[p,Sub],b] & p,Sub PQSub b ) ) ) & ( for a being set holds ( a in F2 iff ex p being QC-formula of A ex Sub being CQC_Substitution of A ex b being set st ( a = [[p,Sub],b] & p,Sub PQSub b ) ) ) implies F1 = F2 ) assume that A15: for a being set holds ( a in F1 iff ex p being QC-formula of A ex Sub being CQC_Substitution of A ex b being set st ( a = [[p,Sub],b] & p,Sub PQSub b ) ) and A16: for a being set holds ( a in F2 iff ex p being QC-formula of A ex Sub being CQC_Substitution of A ex b being set st ( a = [[p,Sub],b] & p,Sub PQSub b ) ) ; ::_thesis: F1 = F2 now__::_thesis:_for_a_being_set_holds_ (_a_in_F1_iff_a_in_F2_) let a be set ; ::_thesis: ( a in F1 iff a in F2 ) ( a in F1 iff ex p being QC-formula of A ex Sub being CQC_Substitution of A ex b being set st ( a = [[p,Sub],b] & p,Sub PQSub b ) ) by A15; hence ( a in F1 iff a in F2 ) by A16; ::_thesis: verum end; hence F1 = F2 by TARSKI:1; ::_thesis: verum end; end; :: deftheorem defines QSub SUBSTUT1:def_15_:_ for A being QC-alphabet for b2 being Function holds ( b2 = QSub A iff for a being set holds ( a in b2 iff ex p being QC-formula of A ex Sub being CQC_Substitution of A ex b being set st ( a = [[p,Sub],b] & p,Sub PQSub b ) ) ); begin theorem Th7: :: SUBSTUT1:7 for A being QC-alphabet holds ( [:(QC-WFF A),(vSUB A):] is Subset of [:([:NAT,(QC-symbols A):] *),(vSUB A):] & ( for k being Element of NAT for p being QC-pred_symbol of k,A for ll being QC-variable_list of k,A for e being Element of vSUB A holds [(<*p*> ^ ll),e] in [:(QC-WFF A),(vSUB A):] ) & ( for e being Element of vSUB A holds [<*[0,0]*>,e] in [:(QC-WFF A),(vSUB A):] ) & ( for p being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,e] in [:(QC-WFF A),(vSUB A):] holds [(<*[1,0]*> ^ p),e] in [:(QC-WFF A),(vSUB A):] ) & ( for p, q being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,e] in [:(QC-WFF A),(vSUB A):] & [q,e] in [:(QC-WFF A),(vSUB A):] holds [((<*[2,0]*> ^ p) ^ q),e] in [:(QC-WFF A),(vSUB A):] ) & ( for x being bound_QC-variable of A for p being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,((QSub A) . [((<*[3,0]*> ^ <*x*>) ^ p),e])] in [:(QC-WFF A),(vSUB A):] holds [((<*[3,0]*> ^ <*x*>) ^ p),e] in [:(QC-WFF A),(vSUB A):] ) ) proof let A be QC-alphabet ; ::_thesis: ( [:(QC-WFF A),(vSUB A):] is Subset of [:([:NAT,(QC-symbols A):] *),(vSUB A):] & ( for k being Element of NAT for p being QC-pred_symbol of k,A for ll being QC-variable_list of k,A for e being Element of vSUB A holds [(<*p*> ^ ll),e] in [:(QC-WFF A),(vSUB A):] ) & ( for e being Element of vSUB A holds [<*[0,0]*>,e] in [:(QC-WFF A),(vSUB A):] ) & ( for p being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,e] in [:(QC-WFF A),(vSUB A):] holds [(<*[1,0]*> ^ p),e] in [:(QC-WFF A),(vSUB A):] ) & ( for p, q being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,e] in [:(QC-WFF A),(vSUB A):] & [q,e] in [:(QC-WFF A),(vSUB A):] holds [((<*[2,0]*> ^ p) ^ q),e] in [:(QC-WFF A),(vSUB A):] ) & ( for x being bound_QC-variable of A for p being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,((QSub A) . [((<*[3,0]*> ^ <*x*>) ^ p),e])] in [:(QC-WFF A),(vSUB A):] holds [((<*[3,0]*> ^ <*x*>) ^ p),e] in [:(QC-WFF A),(vSUB A):] ) ) QC-WFF A is A -closed by QC_LANG1:7; then QC-WFF A is Subset of ([:NAT,(QC-symbols A):] *) by QC_LANG1:def_10; hence [:(QC-WFF A),(vSUB A):] is Subset of [:([:NAT,(QC-symbols A):] *),(vSUB A):] by ZFMISC_1:95; ::_thesis: ( ( for k being Element of NAT for p being QC-pred_symbol of k,A for ll being QC-variable_list of k,A for e being Element of vSUB A holds [(<*p*> ^ ll),e] in [:(QC-WFF A),(vSUB A):] ) & ( for e being Element of vSUB A holds [<*[0,0]*>,e] in [:(QC-WFF A),(vSUB A):] ) & ( for p being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,e] in [:(QC-WFF A),(vSUB A):] holds [(<*[1,0]*> ^ p),e] in [:(QC-WFF A),(vSUB A):] ) & ( for p, q being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,e] in [:(QC-WFF A),(vSUB A):] & [q,e] in [:(QC-WFF A),(vSUB A):] holds [((<*[2,0]*> ^ p) ^ q),e] in [:(QC-WFF A),(vSUB A):] ) & ( for x being bound_QC-variable of A for p being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,((QSub A) . [((<*[3,0]*> ^ <*x*>) ^ p),e])] in [:(QC-WFF A),(vSUB A):] holds [((<*[3,0]*> ^ <*x*>) ^ p),e] in [:(QC-WFF A),(vSUB A):] ) ) thus for k being Element of NAT for p being QC-pred_symbol of k,A for ll being QC-variable_list of k,A for e being Element of vSUB A holds [(<*p*> ^ ll),e] in [:(QC-WFF A),(vSUB A):] ::_thesis: ( ( for e being Element of vSUB A holds [<*[0,0]*>,e] in [:(QC-WFF A),(vSUB A):] ) & ( for p being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,e] in [:(QC-WFF A),(vSUB A):] holds [(<*[1,0]*> ^ p),e] in [:(QC-WFF A),(vSUB A):] ) & ( for p, q being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,e] in [:(QC-WFF A),(vSUB A):] & [q,e] in [:(QC-WFF A),(vSUB A):] holds [((<*[2,0]*> ^ p) ^ q),e] in [:(QC-WFF A),(vSUB A):] ) & ( for x being bound_QC-variable of A for p being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,((QSub A) . [((<*[3,0]*> ^ <*x*>) ^ p),e])] in [:(QC-WFF A),(vSUB A):] holds [((<*[3,0]*> ^ <*x*>) ^ p),e] in [:(QC-WFF A),(vSUB A):] ) ) proof let k be Element of NAT ; ::_thesis: for p being QC-pred_symbol of k,A for ll being QC-variable_list of k,A for e being Element of vSUB A holds [(<*p*> ^ ll),e] in [:(QC-WFF A),(vSUB A):] let p be QC-pred_symbol of k,A; ::_thesis: for ll being QC-variable_list of k,A for e being Element of vSUB A holds [(<*p*> ^ ll),e] in [:(QC-WFF A),(vSUB A):] let ll be QC-variable_list of k,A; ::_thesis: for e being Element of vSUB A holds [(<*p*> ^ ll),e] in [:(QC-WFF A),(vSUB A):] let e be Element of vSUB A; ::_thesis: [(<*p*> ^ ll),e] in [:(QC-WFF A),(vSUB A):] p ! ll = <*p*> ^ ll by QC_LANG1:8; hence [(<*p*> ^ ll),e] in [:(QC-WFF A),(vSUB A):] by ZFMISC_1:def_2; ::_thesis: verum end; VERUM A in QC-WFF A ; hence for e being Element of vSUB A holds [<*[0,0]*>,e] in [:(QC-WFF A),(vSUB A):] by ZFMISC_1:def_2; ::_thesis: ( ( for p being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,e] in [:(QC-WFF A),(vSUB A):] holds [(<*[1,0]*> ^ p),e] in [:(QC-WFF A),(vSUB A):] ) & ( for p, q being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,e] in [:(QC-WFF A),(vSUB A):] & [q,e] in [:(QC-WFF A),(vSUB A):] holds [((<*[2,0]*> ^ p) ^ q),e] in [:(QC-WFF A),(vSUB A):] ) & ( for x being bound_QC-variable of A for p being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,((QSub A) . [((<*[3,0]*> ^ <*x*>) ^ p),e])] in [:(QC-WFF A),(vSUB A):] holds [((<*[3,0]*> ^ <*x*>) ^ p),e] in [:(QC-WFF A),(vSUB A):] ) ) thus for p being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,e] in [:(QC-WFF A),(vSUB A):] holds [(<*[1,0]*> ^ p),e] in [:(QC-WFF A),(vSUB A):] ::_thesis: ( ( for p, q being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,e] in [:(QC-WFF A),(vSUB A):] & [q,e] in [:(QC-WFF A),(vSUB A):] holds [((<*[2,0]*> ^ p) ^ q),e] in [:(QC-WFF A),(vSUB A):] ) & ( for x being bound_QC-variable of A for p being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,((QSub A) . [((<*[3,0]*> ^ <*x*>) ^ p),e])] in [:(QC-WFF A),(vSUB A):] holds [((<*[3,0]*> ^ <*x*>) ^ p),e] in [:(QC-WFF A),(vSUB A):] ) ) proof let p be FinSequence of [:NAT,(QC-symbols A):]; ::_thesis: for e being Element of vSUB A st [p,e] in [:(QC-WFF A),(vSUB A):] holds [(<*[1,0]*> ^ p),e] in [:(QC-WFF A),(vSUB A):] let e be Element of vSUB A; ::_thesis: ( [p,e] in [:(QC-WFF A),(vSUB A):] implies [(<*[1,0]*> ^ p),e] in [:(QC-WFF A),(vSUB A):] ) assume [p,e] in [:(QC-WFF A),(vSUB A):] ; ::_thesis: [(<*[1,0]*> ^ p),e] in [:(QC-WFF A),(vSUB A):] then ex a, b being set st ( a in QC-WFF A & b in vSUB A & [p,e] = [a,b] ) by ZFMISC_1:def_2; then reconsider p9 = p as Element of QC-WFF A by XTUPLE_0:1; 'not' p9 = <*[1,0]*> ^ (@ p9) ; hence [(<*[1,0]*> ^ p),e] in [:(QC-WFF A),(vSUB A):] by ZFMISC_1:def_2; ::_thesis: verum end; thus for p, q being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,e] in [:(QC-WFF A),(vSUB A):] & [q,e] in [:(QC-WFF A),(vSUB A):] holds [((<*[2,0]*> ^ p) ^ q),e] in [:(QC-WFF A),(vSUB A):] ::_thesis: for x being bound_QC-variable of A for p being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,((QSub A) . [((<*[3,0]*> ^ <*x*>) ^ p),e])] in [:(QC-WFF A),(vSUB A):] holds [((<*[3,0]*> ^ <*x*>) ^ p),e] in [:(QC-WFF A),(vSUB A):] proof let p, q be FinSequence of [:NAT,(QC-symbols A):]; ::_thesis: for e being Element of vSUB A st [p,e] in [:(QC-WFF A),(vSUB A):] & [q,e] in [:(QC-WFF A),(vSUB A):] holds [((<*[2,0]*> ^ p) ^ q),e] in [:(QC-WFF A),(vSUB A):] let e be Element of vSUB A; ::_thesis: ( [p,e] in [:(QC-WFF A),(vSUB A):] & [q,e] in [:(QC-WFF A),(vSUB A):] implies [((<*[2,0]*> ^ p) ^ q),e] in [:(QC-WFF A),(vSUB A):] ) assume that A1: [p,e] in [:(QC-WFF A),(vSUB A):] and A2: [q,e] in [:(QC-WFF A),(vSUB A):] ; ::_thesis: [((<*[2,0]*> ^ p) ^ q),e] in [:(QC-WFF A),(vSUB A):] ex c, d being set st ( c in QC-WFF A & d in vSUB A & [q,e] = [c,d] ) by A2, ZFMISC_1:def_2; then reconsider q9 = q as Element of QC-WFF A by XTUPLE_0:1; ex a, b being set st ( a in QC-WFF A & b in vSUB A & [p,e] = [a,b] ) by A1, ZFMISC_1:def_2; then reconsider p9 = p as Element of QC-WFF A by XTUPLE_0:1; p9 '&' q9 = (<*[2,0]*> ^ (@ p9)) ^ (@ q9) ; hence [((<*[2,0]*> ^ p) ^ q),e] in [:(QC-WFF A),(vSUB A):] by ZFMISC_1:def_2; ::_thesis: verum end; thus for x being bound_QC-variable of A for p being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,((QSub A) . [((<*[3,0]*> ^ <*x*>) ^ p),e])] in [:(QC-WFF A),(vSUB A):] holds [((<*[3,0]*> ^ <*x*>) ^ p),e] in [:(QC-WFF A),(vSUB A):] ::_thesis: verum proof let x be bound_QC-variable of A; ::_thesis: for p being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,((QSub A) . [((<*[3,0]*> ^ <*x*>) ^ p),e])] in [:(QC-WFF A),(vSUB A):] holds [((<*[3,0]*> ^ <*x*>) ^ p),e] in [:(QC-WFF A),(vSUB A):] let p be FinSequence of [:NAT,(QC-symbols A):]; ::_thesis: for e being Element of vSUB A st [p,((QSub A) . [((<*[3,0]*> ^ <*x*>) ^ p),e])] in [:(QC-WFF A),(vSUB A):] holds [((<*[3,0]*> ^ <*x*>) ^ p),e] in [:(QC-WFF A),(vSUB A):] let e be Element of vSUB A; ::_thesis: ( [p,((QSub A) . [((<*[3,0]*> ^ <*x*>) ^ p),e])] in [:(QC-WFF A),(vSUB A):] implies [((<*[3,0]*> ^ <*x*>) ^ p),e] in [:(QC-WFF A),(vSUB A):] ) assume [p,((QSub A) . [((<*[3,0]*> ^ <*x*>) ^ p),e])] in [:(QC-WFF A),(vSUB A):] ; ::_thesis: [((<*[3,0]*> ^ <*x*>) ^ p),e] in [:(QC-WFF A),(vSUB A):] then ex a, b being set st ( a in QC-WFF A & b in vSUB A & [p,((QSub A) . [((<*[3,0]*> ^ <*x*>) ^ p),e])] = [a,b] ) by ZFMISC_1:def_2; then reconsider p9 = p as Element of QC-WFF A by XTUPLE_0:1; All (x,p9) = (<*[3,0]*> ^ <*x*>) ^ (@ p9) ; hence [((<*[3,0]*> ^ <*x*>) ^ p),e] in [:(QC-WFF A),(vSUB A):] by ZFMISC_1:def_2; ::_thesis: verum end; end; definition let A be QC-alphabet ; let IT be set ; attrIT is A -Sub-closed means :Def16: :: SUBSTUT1:def 16 ( IT is Subset of [:([:NAT,(QC-symbols A):] *),(vSUB A):] & ( for k being Element of NAT for p being QC-pred_symbol of k,A for ll being QC-variable_list of k,A for e being Element of vSUB A holds [(<*p*> ^ ll),e] in IT ) & ( for e being Element of vSUB A holds [<*[0,0]*>,e] in IT ) & ( for p being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,e] in IT holds [(<*[1,0]*> ^ p),e] in IT ) & ( for p, q being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,e] in IT & [q,e] in IT holds [((<*[2,0]*> ^ p) ^ q),e] in IT ) & ( for x being bound_QC-variable of A for p being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,((QSub A) . [((<*[3,0]*> ^ <*x*>) ^ p),e])] in IT holds [((<*[3,0]*> ^ <*x*>) ^ p),e] in IT ) ); end; :: deftheorem Def16 defines -Sub-closed SUBSTUT1:def_16_:_ for A being QC-alphabet for IT being set holds ( IT is A -Sub-closed iff ( IT is Subset of [:([:NAT,(QC-symbols A):] *),(vSUB A):] & ( for k being Element of NAT for p being QC-pred_symbol of k,A for ll being QC-variable_list of k,A for e being Element of vSUB A holds [(<*p*> ^ ll),e] in IT ) & ( for e being Element of vSUB A holds [<*[0,0]*>,e] in IT ) & ( for p being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,e] in IT holds [(<*[1,0]*> ^ p),e] in IT ) & ( for p, q being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,e] in IT & [q,e] in IT holds [((<*[2,0]*> ^ p) ^ q),e] in IT ) & ( for x being bound_QC-variable of A for p being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,((QSub A) . [((<*[3,0]*> ^ <*x*>) ^ p),e])] in IT holds [((<*[3,0]*> ^ <*x*>) ^ p),e] in IT ) ) ); registration let A be QC-alphabet ; cluster non empty A -Sub-closed for set ; existence ex b1 being set st ( b1 is A -Sub-closed & not b1 is empty ) proof take [:(QC-WFF A),(vSUB A):] ; ::_thesis: ( [:(QC-WFF A),(vSUB A):] is A -Sub-closed & not [:(QC-WFF A),(vSUB A):] is empty ) ( [:(QC-WFF A),(vSUB A):] is Subset of [:([:NAT,(QC-symbols A):] *),(vSUB A):] & ( for k being Element of NAT for p being QC-pred_symbol of k,A for ll being QC-variable_list of k,A for e being Element of vSUB A holds [(<*p*> ^ ll),e] in [:(QC-WFF A),(vSUB A):] ) & ( for e being Element of vSUB A holds [<*[0,0]*>,e] in [:(QC-WFF A),(vSUB A):] ) & ( for p being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,e] in [:(QC-WFF A),(vSUB A):] holds [(<*[1,0]*> ^ p),e] in [:(QC-WFF A),(vSUB A):] ) & ( for p, q being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,e] in [:(QC-WFF A),(vSUB A):] & [q,e] in [:(QC-WFF A),(vSUB A):] holds [((<*[2,0]*> ^ p) ^ q),e] in [:(QC-WFF A),(vSUB A):] ) & ( for x being bound_QC-variable of A for p being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,((QSub A) . [((<*[3,0]*> ^ <*x*>) ^ p),e])] in [:(QC-WFF A),(vSUB A):] holds [((<*[3,0]*> ^ <*x*>) ^ p),e] in [:(QC-WFF A),(vSUB A):] ) ) by Th7; hence ( [:(QC-WFF A),(vSUB A):] is A -Sub-closed & not [:(QC-WFF A),(vSUB A):] is empty ) by Def16; ::_thesis: verum end; end; Lm3: for A being QC-alphabet for x being bound_QC-variable of A for p being FinSequence of [:NAT,(QC-symbols A):] holds (<*[3,0]*> ^ <*x*>) ^ p is FinSequence of [:NAT,(QC-symbols A):] proof let A be QC-alphabet ; ::_thesis: for x being bound_QC-variable of A for p being FinSequence of [:NAT,(QC-symbols A):] holds (<*[3,0]*> ^ <*x*>) ^ p is FinSequence of [:NAT,(QC-symbols A):] 0 in QC-symbols A by QC_LANG1:3; then [3,0] in [:NAT,(QC-symbols A):] by ZFMISC_1:87; then ( rng <*[3,0]*> = {[3,0]} & {[3,0]} c= [:NAT,(QC-symbols A):] ) by FINSEQ_1:39, ZFMISC_1:31; then reconsider y = <*[3,0]*> as FinSequence of [:NAT,(QC-symbols A):] by FINSEQ_1:def_4; let x be bound_QC-variable of A; ::_thesis: for p being FinSequence of [:NAT,(QC-symbols A):] holds (<*[3,0]*> ^ <*x*>) ^ p is FinSequence of [:NAT,(QC-symbols A):] let p be FinSequence of [:NAT,(QC-symbols A):]; ::_thesis: (<*[3,0]*> ^ <*x*>) ^ p is FinSequence of [:NAT,(QC-symbols A):] QC-variables A c= [:NAT,(QC-symbols A):] by QC_LANG1:4; then bound_QC-variables A c= [:NAT,(QC-symbols A):] by XBOOLE_1:1; then rng <*x*> c= [:NAT,(QC-symbols A):] by XBOOLE_1:1; then reconsider z = <*x*> as FinSequence of [:NAT,(QC-symbols A):] by FINSEQ_1:def_4; (y ^ z) ^ p is FinSequence of [:NAT,(QC-symbols A):] ; hence (<*[3,0]*> ^ <*x*>) ^ p is FinSequence of [:NAT,(QC-symbols A):] ; ::_thesis: verum end; Lm4: for A being QC-alphabet for k being Element of NAT for l being QC-symbol of A for e being Element of vSUB A holds [<*[k,l]*>,e] in [:([:NAT,(QC-symbols A):] *),(vSUB A):] proof let A be QC-alphabet ; ::_thesis: for k being Element of NAT for l being QC-symbol of A for e being Element of vSUB A holds [<*[k,l]*>,e] in [:([:NAT,(QC-symbols A):] *),(vSUB A):] let k be Element of NAT ; ::_thesis: for l being QC-symbol of A for e being Element of vSUB A holds [<*[k,l]*>,e] in [:([:NAT,(QC-symbols A):] *),(vSUB A):] let l be QC-symbol of A; ::_thesis: for e being Element of vSUB A holds [<*[k,l]*>,e] in [:([:NAT,(QC-symbols A):] *),(vSUB A):] let e be Element of vSUB A; ::_thesis: [<*[k,l]*>,e] in [:([:NAT,(QC-symbols A):] *),(vSUB A):] <*[k,l]*> in [:NAT,(QC-symbols A):] * by FINSEQ_1:def_11; hence [<*[k,l]*>,e] in [:([:NAT,(QC-symbols A):] *),(vSUB A):] by ZFMISC_1:def_2; ::_thesis: verum end; Lm5: for A being QC-alphabet for k being Element of NAT for p being QC-pred_symbol of k,A for ll being QC-variable_list of k,A for e being Element of vSUB A holds [(<*p*> ^ ll),e] in [:([:NAT,(QC-symbols A):] *),(vSUB A):] proof let A be QC-alphabet ; ::_thesis: for k being Element of NAT for p being QC-pred_symbol of k,A for ll being QC-variable_list of k,A for e being Element of vSUB A holds [(<*p*> ^ ll),e] in [:([:NAT,(QC-symbols A):] *),(vSUB A):] let k be Element of NAT ; ::_thesis: for p being QC-pred_symbol of k,A for ll being QC-variable_list of k,A for e being Element of vSUB A holds [(<*p*> ^ ll),e] in [:([:NAT,(QC-symbols A):] *),(vSUB A):] let p be QC-pred_symbol of k,A; ::_thesis: for ll being QC-variable_list of k,A for e being Element of vSUB A holds [(<*p*> ^ ll),e] in [:([:NAT,(QC-symbols A):] *),(vSUB A):] let ll be QC-variable_list of k,A; ::_thesis: for e being Element of vSUB A holds [(<*p*> ^ ll),e] in [:([:NAT,(QC-symbols A):] *),(vSUB A):] QC-pred_symbols A c= [:NAT,(QC-symbols A):] by QC_LANG1:6; then k -ary_QC-pred_symbols A c= [:NAT,(QC-symbols A):] by XBOOLE_1:1; then A1: rng <*p*> c= [:NAT,(QC-symbols A):] by XBOOLE_1:1; QC-variables A c= [:NAT,(QC-symbols A):] by QC_LANG1:4; then rng ll c= [:NAT,(QC-symbols A):] by XBOOLE_1:1; then (rng <*p*>) \/ (rng ll) c= [:NAT,(QC-symbols A):] by A1, XBOOLE_1:8; then rng (<*p*> ^ ll) c= [:NAT,(QC-symbols A):] by FINSEQ_1:31; then <*p*> ^ ll is FinSequence of [:NAT,(QC-symbols A):] by FINSEQ_1:def_4; then <*p*> ^ ll in [:NAT,(QC-symbols A):] * by FINSEQ_1:def_11; hence for e being Element of vSUB A holds [(<*p*> ^ ll),e] in [:([:NAT,(QC-symbols A):] *),(vSUB A):] by ZFMISC_1:def_2; ::_thesis: verum end; definition let A be QC-alphabet ; func QC-Sub-WFF A -> non empty set means :Def17: :: SUBSTUT1:def 17 ( it is A -Sub-closed & ( for D being non empty set st D is A -Sub-closed holds it c= D ) ); existence ex b1 being non empty set st ( b1 is A -Sub-closed & ( for D being non empty set st D is A -Sub-closed holds b1 c= D ) ) proof set e = the Element of vSUB A; defpred S1[ set ] means for D being non empty set st D is A -Sub-closed holds $1 in D; consider D0 being set such that A1: for x being set holds ( x in D0 iff ( x in [:([:NAT,(QC-symbols A):] *),(vSUB A):] & S1[x] ) ) from XBOOLE_0:sch_1(); 0 in QC-symbols A by QC_LANG1:3; then ( [<*[0,0]*>, the Element of vSUB A] in [:([:NAT,(QC-symbols A):] *),(vSUB A):] & ( for D being non empty set st D is A -Sub-closed holds [<*[0,0]*>, the Element of vSUB A] in D ) ) by Def16, Lm4; then reconsider D0 = D0 as non empty set by A1; take D0 ; ::_thesis: ( D0 is A -Sub-closed & ( for D being non empty set st D is A -Sub-closed holds D0 c= D ) ) D0 c= [:([:NAT,(QC-symbols A):] *),(vSUB A):] proof let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in D0 or x in [:([:NAT,(QC-symbols A):] *),(vSUB A):] ) thus ( not x in D0 or x in [:([:NAT,(QC-symbols A):] *),(vSUB A):] ) by A1; ::_thesis: verum end; hence D0 is Subset of [:([:NAT,(QC-symbols A):] *),(vSUB A):] ; :: according to SUBSTUT1:def_16 ::_thesis: ( ( for k being Element of NAT for p being QC-pred_symbol of k,A for ll being QC-variable_list of k,A for e being Element of vSUB A holds [(<*p*> ^ ll),e] in D0 ) & ( for e being Element of vSUB A holds [<*[0,0]*>,e] in D0 ) & ( for p being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,e] in D0 holds [(<*[1,0]*> ^ p),e] in D0 ) & ( for p, q being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,e] in D0 & [q,e] in D0 holds [((<*[2,0]*> ^ p) ^ q),e] in D0 ) & ( for x being bound_QC-variable of A for p being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,((QSub A) . [((<*[3,0]*> ^ <*x*>) ^ p),e])] in D0 holds [((<*[3,0]*> ^ <*x*>) ^ p),e] in D0 ) & ( for D being non empty set st D is A -Sub-closed holds D0 c= D ) ) thus for k being Element of NAT for p being QC-pred_symbol of k,A for ll being QC-variable_list of k,A for e being Element of vSUB A holds [(<*p*> ^ ll),e] in D0 ::_thesis: ( ( for e being Element of vSUB A holds [<*[0,0]*>,e] in D0 ) & ( for p being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,e] in D0 holds [(<*[1,0]*> ^ p),e] in D0 ) & ( for p, q being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,e] in D0 & [q,e] in D0 holds [((<*[2,0]*> ^ p) ^ q),e] in D0 ) & ( for x being bound_QC-variable of A for p being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,((QSub A) . [((<*[3,0]*> ^ <*x*>) ^ p),e])] in D0 holds [((<*[3,0]*> ^ <*x*>) ^ p),e] in D0 ) & ( for D being non empty set st D is A -Sub-closed holds D0 c= D ) ) proof let k be Element of NAT ; ::_thesis: for p being QC-pred_symbol of k,A for ll being QC-variable_list of k,A for e being Element of vSUB A holds [(<*p*> ^ ll),e] in D0 let p be QC-pred_symbol of k,A; ::_thesis: for ll being QC-variable_list of k,A for e being Element of vSUB A holds [(<*p*> ^ ll),e] in D0 let ll be QC-variable_list of k,A; ::_thesis: for e being Element of vSUB A holds [(<*p*> ^ ll),e] in D0 let e be Element of vSUB A; ::_thesis: [(<*p*> ^ ll),e] in D0 ( [(<*p*> ^ ll),e] in [:([:NAT,(QC-symbols A):] *),(vSUB A):] & ( for D being non empty set st D is A -Sub-closed holds [(<*p*> ^ ll),e] in D ) ) by Def16, Lm5; hence [(<*p*> ^ ll),e] in D0 by A1; ::_thesis: verum end; thus for e being Element of vSUB A holds [<*[0,0]*>,e] in D0 ::_thesis: ( ( for p being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,e] in D0 holds [(<*[1,0]*> ^ p),e] in D0 ) & ( for p, q being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,e] in D0 & [q,e] in D0 holds [((<*[2,0]*> ^ p) ^ q),e] in D0 ) & ( for x being bound_QC-variable of A for p being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,((QSub A) . [((<*[3,0]*> ^ <*x*>) ^ p),e])] in D0 holds [((<*[3,0]*> ^ <*x*>) ^ p),e] in D0 ) & ( for D being non empty set st D is A -Sub-closed holds D0 c= D ) ) proof let e be Element of vSUB A; ::_thesis: [<*[0,0]*>,e] in D0 0 in QC-symbols A by QC_LANG1:3; then ( [<*[0,0]*>,e] in [:([:NAT,(QC-symbols A):] *),(vSUB A):] & ( for D being non empty set st D is A -Sub-closed holds [<*[0,0]*>,e] in D ) ) by Def16, Lm4; hence [<*[0,0]*>,e] in D0 by A1; ::_thesis: verum end; thus for p being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,e] in D0 holds [(<*[1,0]*> ^ p),e] in D0 ::_thesis: ( ( for p, q being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,e] in D0 & [q,e] in D0 holds [((<*[2,0]*> ^ p) ^ q),e] in D0 ) & ( for x being bound_QC-variable of A for p being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,((QSub A) . [((<*[3,0]*> ^ <*x*>) ^ p),e])] in D0 holds [((<*[3,0]*> ^ <*x*>) ^ p),e] in D0 ) & ( for D being non empty set st D is A -Sub-closed holds D0 c= D ) ) proof let p be FinSequence of [:NAT,(QC-symbols A):]; ::_thesis: for e being Element of vSUB A st [p,e] in D0 holds [(<*[1,0]*> ^ p),e] in D0 let e be Element of vSUB A; ::_thesis: ( [p,e] in D0 implies [(<*[1,0]*> ^ p),e] in D0 ) assume A2: [p,e] in D0 ; ::_thesis: [(<*[1,0]*> ^ p),e] in D0 A3: for D being non empty set st D is A -Sub-closed holds [(<*[1,0]*> ^ p),e] in D proof let D be non empty set ; ::_thesis: ( D is A -Sub-closed implies [(<*[1,0]*> ^ p),e] in D ) assume A4: D is A -Sub-closed ; ::_thesis: [(<*[1,0]*> ^ p),e] in D then [p,e] in D by A1, A2; hence [(<*[1,0]*> ^ p),e] in D by A4, Def16; ::_thesis: verum end; 0 in QC-symbols A by QC_LANG1:3; then [1,0] in [:NAT,(QC-symbols A):] by ZFMISC_1:87; then ( rng <*[1,0]*> = {[1,0]} & {[1,0]} c= [:NAT,(QC-symbols A):] ) by FINSEQ_1:39, ZFMISC_1:31; then reconsider y = <*[1,0]*> as FinSequence of [:NAT,(QC-symbols A):] by FINSEQ_1:def_4; y ^ p is FinSequence of [:NAT,(QC-symbols A):] ; then <*[1,0]*> ^ p in [:NAT,(QC-symbols A):] * by FINSEQ_1:def_11; then [(<*[1,0]*> ^ p),e] in [:([:NAT,(QC-symbols A):] *),(vSUB A):] by ZFMISC_1:def_2; hence [(<*[1,0]*> ^ p),e] in D0 by A1, A3; ::_thesis: verum end; thus for p, q being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,e] in D0 & [q,e] in D0 holds [((<*[2,0]*> ^ p) ^ q),e] in D0 ::_thesis: ( ( for x being bound_QC-variable of A for p being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,((QSub A) . [((<*[3,0]*> ^ <*x*>) ^ p),e])] in D0 holds [((<*[3,0]*> ^ <*x*>) ^ p),e] in D0 ) & ( for D being non empty set st D is A -Sub-closed holds D0 c= D ) ) proof let p, q be FinSequence of [:NAT,(QC-symbols A):]; ::_thesis: for e being Element of vSUB A st [p,e] in D0 & [q,e] in D0 holds [((<*[2,0]*> ^ p) ^ q),e] in D0 let e be Element of vSUB A; ::_thesis: ( [p,e] in D0 & [q,e] in D0 implies [((<*[2,0]*> ^ p) ^ q),e] in D0 ) assume A5: ( [p,e] in D0 & [q,e] in D0 ) ; ::_thesis: [((<*[2,0]*> ^ p) ^ q),e] in D0 A6: for D being non empty set st D is A -Sub-closed holds [((<*[2,0]*> ^ p) ^ q),e] in D proof let D be non empty set ; ::_thesis: ( D is A -Sub-closed implies [((<*[2,0]*> ^ p) ^ q),e] in D ) assume A7: D is A -Sub-closed ; ::_thesis: [((<*[2,0]*> ^ p) ^ q),e] in D then ( [p,e] in D & [q,e] in D ) by A1, A5; hence [((<*[2,0]*> ^ p) ^ q),e] in D by A7, Def16; ::_thesis: verum end; 0 in QC-symbols A by QC_LANG1:3; then [2,0] in [:NAT,(QC-symbols A):] by ZFMISC_1:87; then ( rng <*[2,0]*> = {[2,0]} & {[2,0]} c= [:NAT,(QC-symbols A):] ) by FINSEQ_1:39, ZFMISC_1:31; then reconsider y = <*[2,0]*> as FinSequence of [:NAT,(QC-symbols A):] by FINSEQ_1:def_4; (y ^ p) ^ q is FinSequence of [:NAT,(QC-symbols A):] ; then (<*[2,0]*> ^ p) ^ q in [:NAT,(QC-symbols A):] * by FINSEQ_1:def_11; then [((<*[2,0]*> ^ p) ^ q),e] in [:([:NAT,(QC-symbols A):] *),(vSUB A):] by ZFMISC_1:def_2; hence [((<*[2,0]*> ^ p) ^ q),e] in D0 by A1, A6; ::_thesis: verum end; thus for x being bound_QC-variable of A for p being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,((QSub A) . [((<*[3,0]*> ^ <*x*>) ^ p),e])] in D0 holds [((<*[3,0]*> ^ <*x*>) ^ p),e] in D0 ::_thesis: for D being non empty set st D is A -Sub-closed holds D0 c= D proof let x be bound_QC-variable of A; ::_thesis: for p being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,((QSub A) . [((<*[3,0]*> ^ <*x*>) ^ p),e])] in D0 holds [((<*[3,0]*> ^ <*x*>) ^ p),e] in D0 let p be FinSequence of [:NAT,(QC-symbols A):]; ::_thesis: for e being Element of vSUB A st [p,((QSub A) . [((<*[3,0]*> ^ <*x*>) ^ p),e])] in D0 holds [((<*[3,0]*> ^ <*x*>) ^ p),e] in D0 let e be Element of vSUB A; ::_thesis: ( [p,((QSub A) . [((<*[3,0]*> ^ <*x*>) ^ p),e])] in D0 implies [((<*[3,0]*> ^ <*x*>) ^ p),e] in D0 ) assume A8: [p,((QSub A) . [((<*[3,0]*> ^ <*x*>) ^ p),e])] in D0 ; ::_thesis: [((<*[3,0]*> ^ <*x*>) ^ p),e] in D0 A9: for D being non empty set st D is A -Sub-closed holds [((<*[3,0]*> ^ <*x*>) ^ p),e] in D proof let D be non empty set ; ::_thesis: ( D is A -Sub-closed implies [((<*[3,0]*> ^ <*x*>) ^ p),e] in D ) assume A10: D is A -Sub-closed ; ::_thesis: [((<*[3,0]*> ^ <*x*>) ^ p),e] in D then [p,((QSub A) . [((<*[3,0]*> ^ <*x*>) ^ p),e])] in D by A1, A8; hence [((<*[3,0]*> ^ <*x*>) ^ p),e] in D by A10, Def16; ::_thesis: verum end; (<*[3,0]*> ^ <*x*>) ^ p is FinSequence of [:NAT,(QC-symbols A):] by Lm3; then (<*[3,0]*> ^ <*x*>) ^ p in [:NAT,(QC-symbols A):] * by FINSEQ_1:def_11; then [((<*[3,0]*> ^ <*x*>) ^ p),e] in [:([:NAT,(QC-symbols A):] *),(vSUB A):] by ZFMISC_1:def_2; hence [((<*[3,0]*> ^ <*x*>) ^ p),e] in D0 by A1, A9; ::_thesis: verum end; let D be non empty set ; ::_thesis: ( D is A -Sub-closed implies D0 c= D ) assume A11: D is A -Sub-closed ; ::_thesis: D0 c= D let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in D0 or x in D ) assume x in D0 ; ::_thesis: x in D hence x in D by A1, A11; ::_thesis: verum end; uniqueness for b1, b2 being non empty set st b1 is A -Sub-closed & ( for D being non empty set st D is A -Sub-closed holds b1 c= D ) & b2 is A -Sub-closed & ( for D being non empty set st D is A -Sub-closed holds b2 c= D ) holds b1 = b2 proof let D1, D2 be non empty set ; ::_thesis: ( D1 is A -Sub-closed & ( for D being non empty set st D is A -Sub-closed holds D1 c= D ) & D2 is A -Sub-closed & ( for D being non empty set st D is A -Sub-closed holds D2 c= D ) implies D1 = D2 ) assume ( D1 is A -Sub-closed & ( for D being non empty set st D is A -Sub-closed holds D1 c= D ) & D2 is A -Sub-closed & ( for D being non empty set st D is A -Sub-closed holds D2 c= D ) ) ; ::_thesis: D1 = D2 then ( D1 c= D2 & D2 c= D1 ) ; hence D1 = D2 by XBOOLE_0:def_10; ::_thesis: verum end; end; :: deftheorem Def17 defines QC-Sub-WFF SUBSTUT1:def_17_:_ for A being QC-alphabet for b2 being non empty set holds ( b2 = QC-Sub-WFF A iff ( b2 is A -Sub-closed & ( for D being non empty set st D is A -Sub-closed holds b2 c= D ) ) ); theorem Th8: :: SUBSTUT1:8 for A being QC-alphabet for S being Element of QC-Sub-WFF A ex p being QC-formula of A ex e being Element of vSUB A st S = [p,e] proof let A be QC-alphabet ; ::_thesis: for S being Element of QC-Sub-WFF A ex p being QC-formula of A ex e being Element of vSUB A st S = [p,e] let S be Element of QC-Sub-WFF A; ::_thesis: ex p being QC-formula of A ex e being Element of vSUB A st S = [p,e] ( [:(QC-WFF A),(vSUB A):] is Subset of [:([:NAT,(QC-symbols A):] *),(vSUB A):] & ( for k being Element of NAT for p being QC-pred_symbol of k,A for ll being QC-variable_list of k,A for e being Element of vSUB A holds [(<*p*> ^ ll),e] in [:(QC-WFF A),(vSUB A):] ) & ( for e being Element of vSUB A holds [<*[0,0]*>,e] in [:(QC-WFF A),(vSUB A):] ) & ( for p being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,e] in [:(QC-WFF A),(vSUB A):] holds [(<*[1,0]*> ^ p),e] in [:(QC-WFF A),(vSUB A):] ) & ( for p, q being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,e] in [:(QC-WFF A),(vSUB A):] & [q,e] in [:(QC-WFF A),(vSUB A):] holds [((<*[2,0]*> ^ p) ^ q),e] in [:(QC-WFF A),(vSUB A):] ) & ( for x being bound_QC-variable of A for p being FinSequence of [:NAT,(QC-symbols A):] for e being Element of vSUB A st [p,((QSub A) . [((<*[3,0]*> ^ <*x*>) ^ p),e])] in [:(QC-WFF A),(vSUB A):] holds [((<*[3,0]*> ^ <*x*>) ^ p),e] in [:(QC-WFF A),(vSUB A):] ) ) by Th7; then [:(QC-WFF A),(vSUB A):] is A -Sub-closed by Def16; then QC-Sub-WFF A c= [:(QC-WFF A),(vSUB A):] by Def17; then S in [:(QC-WFF A),(vSUB A):] by TARSKI:def_3; then consider a, b being set such that A1: a in QC-WFF A and A2: b in vSUB A and A3: S = [a,b] by ZFMISC_1:def_2; reconsider e = b as Element of vSUB A by A2; reconsider p = a as Element of QC-WFF A by A1; take p ; ::_thesis: ex e being Element of vSUB A st S = [p,e] take e ; ::_thesis: S = [p,e] thus S = [p,e] by A3; ::_thesis: verum end; registration let A be QC-alphabet ; cluster QC-Sub-WFF A -> non empty A -Sub-closed ; coherence QC-Sub-WFF A is A -Sub-closed by Def17; end; definition let A be QC-alphabet ; let P be QC-pred_symbol of A; let l be FinSequence of QC-variables A; let e be Element of vSUB A; assume A1: the_arity_of P = len l ; func Sub_P (P,l,e) -> Element of QC-Sub-WFF A equals :Def18: :: SUBSTUT1:def 18 [(P ! l),e]; coherence [(P ! l),e] is Element of QC-Sub-WFF A proof set k = len l; set QCP = { QP where QP is QC-pred_symbol of A : the_arity_of QP = len l } ; P in { QP where QP is QC-pred_symbol of A : the_arity_of QP = len l } by A1; then reconsider P = P as QC-pred_symbol of (len l),A ; reconsider l = l as QC-variable_list of len l,A by CARD_1:def_7; P ! l = <*P*> ^ l by QC_LANG1:8; hence [(P ! l),e] is Element of QC-Sub-WFF A by Def16; ::_thesis: verum end; end; :: deftheorem Def18 defines Sub_P SUBSTUT1:def_18_:_ for A being QC-alphabet for P being QC-pred_symbol of A for l being FinSequence of QC-variables A for e being Element of vSUB A st the_arity_of P = len l holds Sub_P (P,l,e) = [(P ! l),e]; theorem Th9: :: SUBSTUT1:9 for A being QC-alphabet for e being Element of vSUB A for k being Element of NAT for P being QC-pred_symbol of k,A for ll being QC-variable_list of k,A holds Sub_P (P,ll,e) = [(P ! ll),e] proof let A be QC-alphabet ; ::_thesis: for e being Element of vSUB A for k being Element of NAT for P being QC-pred_symbol of k,A for ll being QC-variable_list of k,A holds Sub_P (P,ll,e) = [(P ! ll),e] let e be Element of vSUB A; ::_thesis: for k being Element of NAT for P being QC-pred_symbol of k,A for ll being QC-variable_list of k,A holds Sub_P (P,ll,e) = [(P ! ll),e] let k be Element of NAT ; ::_thesis: for P being QC-pred_symbol of k,A for ll being QC-variable_list of k,A holds Sub_P (P,ll,e) = [(P ! ll),e] let P be QC-pred_symbol of k,A; ::_thesis: for ll being QC-variable_list of k,A holds Sub_P (P,ll,e) = [(P ! ll),e] let ll be QC-variable_list of k,A; ::_thesis: Sub_P (P,ll,e) = [(P ! ll),e] set QCP = { QP where QP is QC-pred_symbol of A : the_arity_of QP = k } ; P in { QP where QP is QC-pred_symbol of A : the_arity_of QP = k } ; then A1: ex Q being QC-pred_symbol of A st ( P = Q & the_arity_of Q = k ) ; len ll = k by CARD_1:def_7; hence Sub_P (P,ll,e) = [(P ! ll),e] by A1, Def18; ::_thesis: verum end; definition let A be QC-alphabet ; let S be Element of QC-Sub-WFF A; attrS is A -Sub_VERUM means :Def19: :: SUBSTUT1:def 19 ex e being Element of vSUB A st S = [(VERUM A),e]; end; :: deftheorem Def19 defines -Sub_VERUM SUBSTUT1:def_19_:_ for A being QC-alphabet for S being Element of QC-Sub-WFF A holds ( S is A -Sub_VERUM iff ex e being Element of vSUB A st S = [(VERUM A),e] ); definition let A be QC-alphabet ; let S be Element of QC-Sub-WFF A; :: original: `1 redefine funcS `1 -> Element of QC-WFF A; coherence S `1 is Element of QC-WFF A proof ex p being QC-formula of A ex e being Element of vSUB A st S = [p,e] by Th8; hence S `1 is Element of QC-WFF A by MCART_1:7; ::_thesis: verum end; :: original: `2 redefine funcS `2 -> Element of vSUB A; coherence S `2 is Element of vSUB A proof ex p being QC-formula of A ex e being Element of vSUB A st S = [p,e] by Th8; hence S `2 is Element of vSUB A by MCART_1:7; ::_thesis: verum end; end; theorem Th10: :: SUBSTUT1:10 for A being QC-alphabet for S being Element of QC-Sub-WFF A holds S = [(S `1),(S `2)] proof let A be QC-alphabet ; ::_thesis: for S being Element of QC-Sub-WFF A holds S = [(S `1),(S `2)] let S be Element of QC-Sub-WFF A; ::_thesis: S = [(S `1),(S `2)] ex p being QC-formula of A ex e being Element of vSUB A st S = [p,e] by Th8; hence S = [(S `1),(S `2)] by MCART_1:8; ::_thesis: verum end; definition let A be QC-alphabet ; let S be Element of QC-Sub-WFF A; func Sub_not S -> Element of QC-Sub-WFF A equals :: SUBSTUT1:def 20 [('not' (S `1)),(S `2)]; coherence [('not' (S `1)),(S `2)] is Element of QC-Sub-WFF A proof [(S `1),(S `2)] is Element of QC-Sub-WFF A by Th10; hence [('not' (S `1)),(S `2)] is Element of QC-Sub-WFF A by Def16; ::_thesis: verum end; end; :: deftheorem defines Sub_not SUBSTUT1:def_20_:_ for A being QC-alphabet for S being Element of QC-Sub-WFF A holds Sub_not S = [('not' (S `1)),(S `2)]; definition let A be QC-alphabet ; let S, S9 be Element of QC-Sub-WFF A; assume A1: S `2 = S9 `2 ; func Sub_& (S,S9) -> Element of QC-Sub-WFF A equals :Def21: :: SUBSTUT1:def 21 [((S `1) '&' (S9 `1)),(S `2)]; coherence [((S `1) '&' (S9 `1)),(S `2)] is Element of QC-Sub-WFF A proof ( [(S `1),(S `2)] is Element of QC-Sub-WFF A & [(S9 `1),(S9 `2)] is Element of QC-Sub-WFF A ) by Th10; hence [((S `1) '&' (S9 `1)),(S `2)] is Element of QC-Sub-WFF A by A1, Def16; ::_thesis: verum end; end; :: deftheorem Def21 defines Sub_& SUBSTUT1:def_21_:_ for A being QC-alphabet for S, S9 being Element of QC-Sub-WFF A st S `2 = S9 `2 holds Sub_& (S,S9) = [((S `1) '&' (S9 `1)),(S `2)]; definition let A be QC-alphabet ; let B be Element of [:(QC-Sub-WFF A),(bound_QC-variables A):]; :: original: `1 redefine funcB `1 -> Element of QC-Sub-WFF A; coherence B `1 is Element of QC-Sub-WFF A by MCART_1:10; :: original: `2 redefine funcB `2 -> Element of bound_QC-variables A; coherence B `2 is Element of bound_QC-variables A by MCART_1:10; end; definition let A be QC-alphabet ; let B be Element of [:(QC-Sub-WFF A),(bound_QC-variables A):]; attrB is quantifiable means :Def22: :: SUBSTUT1:def 22 ex e being Element of vSUB A st (B `1) `2 = (QSub A) . [(All ((B `2),((B `1) `1))),e]; end; :: deftheorem Def22 defines quantifiable SUBSTUT1:def_22_:_ for A being QC-alphabet for B being Element of [:(QC-Sub-WFF A),(bound_QC-variables A):] holds ( B is quantifiable iff ex e being Element of vSUB A st (B `1) `2 = (QSub A) . [(All ((B `2),((B `1) `1))),e] ); definition let A be QC-alphabet ; let B be Element of [:(QC-Sub-WFF A),(bound_QC-variables A):]; assume A1: B is quantifiable ; mode second_Q_comp of B -> Element of vSUB A means :Def23: :: SUBSTUT1:def 23 (B `1) `2 = (QSub A) . [(All ((B `2),((B `1) `1))),it]; existence ex b1 being Element of vSUB A st (B `1) `2 = (QSub A) . [(All ((B `2),((B `1) `1))),b1] by A1, Def22; end; :: deftheorem Def23 defines second_Q_comp SUBSTUT1:def_23_:_ for A being QC-alphabet for B being Element of [:(QC-Sub-WFF A),(bound_QC-variables A):] st B is quantifiable holds for b3 being Element of vSUB A holds ( b3 is second_Q_comp of B iff (B `1) `2 = (QSub A) . [(All ((B `2),((B `1) `1))),b3] ); definition let A be QC-alphabet ; let B be Element of [:(QC-Sub-WFF A),(bound_QC-variables A):]; let SQ be second_Q_comp of B; assume A1: B is quantifiable ; func Sub_All (B,SQ) -> Element of QC-Sub-WFF A equals :Def24: :: SUBSTUT1:def 24 [(All ((B `2),((B `1) `1))),SQ]; coherence [(All ((B `2),((B `1) `1))),SQ] is Element of QC-Sub-WFF A proof (B `1) `2 = (QSub A) . [(All ((B `2),((B `1) `1))),SQ] by A1, Def23; then B `1 = [((B `1) `1),((QSub A) . [(All ((B `2),((B `1) `1))),SQ])] by Th10; hence [(All ((B `2),((B `1) `1))),SQ] is Element of QC-Sub-WFF A by Def16; ::_thesis: verum end; end; :: deftheorem Def24 defines Sub_All SUBSTUT1:def_24_:_ for A being QC-alphabet for B being Element of [:(QC-Sub-WFF A),(bound_QC-variables A):] for SQ being second_Q_comp of B st B is quantifiable holds Sub_All (B,SQ) = [(All ((B `2),((B `1) `1))),SQ]; definition let A be QC-alphabet ; let S be Element of QC-Sub-WFF A; let x be bound_QC-variable of A; :: original: [ redefine func[S,x] -> Element of [:(QC-Sub-WFF A),(bound_QC-variables A):]; coherence [S,x] is Element of [:(QC-Sub-WFF A),(bound_QC-variables A):] proof [S,x] in [:(QC-Sub-WFF A),(bound_QC-variables A):] ; hence [S,x] is Element of [:(QC-Sub-WFF A),(bound_QC-variables A):] ; ::_thesis: verum end; end; scheme :: SUBSTUT1:sch 1 SubQCInd{ F1() -> QC-alphabet , P1[ Element of QC-Sub-WFF F1()] } : for S being Element of QC-Sub-WFF F1() holds P1[S] provided A1: for k being Element of NAT for P being QC-pred_symbol of k,F1() for ll being QC-variable_list of k,F1() for e being Element of vSUB F1() holds P1[ Sub_P (P,ll,e)] and A2: for S being Element of QC-Sub-WFF F1() st S is F1() -Sub_VERUM holds P1[S] and A3: for S being Element of QC-Sub-WFF F1() st P1[S] holds P1[ Sub_not S] and A4: for S, S9 being Element of QC-Sub-WFF F1() st S `2 = S9 `2 & P1[S] & P1[S9] holds P1[ Sub_& (S,S9)] and A5: for x being bound_QC-variable of F1() for S being Element of QC-Sub-WFF F1() for SQ being second_Q_comp of [S,x] st [S,x] is quantifiable & P1[S] holds P1[ Sub_All ([S,x],SQ)] proof set X = { S where S is Element of QC-Sub-WFF F1() : P1[S] } ; not { S where S is Element of QC-Sub-WFF F1() : P1[S] } is empty proof set e = the Element of vSUB F1(); reconsider V = [(VERUM F1()), the Element of vSUB F1()] as Element of QC-Sub-WFF F1() by Def16; V is F1() -Sub_VERUM by Def19; then P1[V] by A2; then V in { S where S is Element of QC-Sub-WFF F1() : P1[S] } ; hence not { S where S is Element of QC-Sub-WFF F1() : P1[S] } is empty ; ::_thesis: verum end; then reconsider X = { S where S is Element of QC-Sub-WFF F1() : P1[S] } as non empty set ; for e being Element of vSUB F1() holds [(VERUM F1()),e] in X proof let e be Element of vSUB F1(); ::_thesis: [(VERUM F1()),e] in X reconsider V = [(VERUM F1()),e] as Element of QC-Sub-WFF F1() by Def16; V is F1() -Sub_VERUM by Def19; then P1[V] by A2; hence [(VERUM F1()),e] in X ; ::_thesis: verum end; then A6: for e being Element of vSUB F1() holds [<*[0,0]*>,e] in X ; A7: for p being FinSequence of [:NAT,(QC-symbols F1()):] for e being Element of vSUB F1() st [p,e] in X holds [(<*[1,0]*> ^ p),e] in X proof let p be FinSequence of [:NAT,(QC-symbols F1()):]; ::_thesis: for e being Element of vSUB F1() st [p,e] in X holds [(<*[1,0]*> ^ p),e] in X let e be Element of vSUB F1(); ::_thesis: ( [p,e] in X implies [(<*[1,0]*> ^ p),e] in X ) assume [p,e] in X ; ::_thesis: [(<*[1,0]*> ^ p),e] in X then consider S being Element of QC-Sub-WFF F1() such that A8: S = [p,e] and A9: P1[S] ; P1[ Sub_not S] by A3, A9; then A10: Sub_not S in X ; consider p9 being Element of QC-WFF F1(), e9 being Element of vSUB F1() such that A11: S = [p9,e9] by Th8; A12: S `1 = p9 by A11, MCART_1:7; p = p9 by A8, A11, XTUPLE_0:1; hence [(<*[1,0]*> ^ p),e] in X by A8, A10, A12, MCART_1:7; ::_thesis: verum end; A13: for x being bound_QC-variable of F1() for p being FinSequence of [:NAT,(QC-symbols F1()):] for e being Element of vSUB F1() st [p,((QSub F1()) . [((<*[3,0]*> ^ <*x*>) ^ p),e])] in X holds [((<*[3,0]*> ^ <*x*>) ^ p),e] in X proof let x be bound_QC-variable of F1(); ::_thesis: for p being FinSequence of [:NAT,(QC-symbols F1()):] for e being Element of vSUB F1() st [p,((QSub F1()) . [((<*[3,0]*> ^ <*x*>) ^ p),e])] in X holds [((<*[3,0]*> ^ <*x*>) ^ p),e] in X let p be FinSequence of [:NAT,(QC-symbols F1()):]; ::_thesis: for e being Element of vSUB F1() st [p,((QSub F1()) . [((<*[3,0]*> ^ <*x*>) ^ p),e])] in X holds [((<*[3,0]*> ^ <*x*>) ^ p),e] in X let e be Element of vSUB F1(); ::_thesis: ( [p,((QSub F1()) . [((<*[3,0]*> ^ <*x*>) ^ p),e])] in X implies [((<*[3,0]*> ^ <*x*>) ^ p),e] in X ) assume [p,((QSub F1()) . [((<*[3,0]*> ^ <*x*>) ^ p),e])] in X ; ::_thesis: [((<*[3,0]*> ^ <*x*>) ^ p),e] in X then consider S being Element of QC-Sub-WFF F1() such that A14: S = [p,((QSub F1()) . [((<*[3,0]*> ^ <*x*>) ^ p),e])] and A15: P1[S] ; consider B being set such that A16: B = [S,x] ; reconsider B = B as Element of [:(QC-Sub-WFF F1()),(bound_QC-variables F1()):] by A16; A17: ( B `1 = S & B `2 = x ) by A16, MCART_1:7; S `1 = p by A14, MCART_1:7; then A18: S `2 = (QSub F1()) . [(All (x,(S `1))),e] by A14, MCART_1:7; then A19: B is quantifiable by A17, Def22; then reconsider e = e as second_Q_comp of B by A18, A17, Def23; P1[ Sub_All (B,e)] by A5, A15, A16, A19; then Sub_All (B,e) in X ; then [(All ((B `2),((B `1) `1))),e] in X by A19, Def24; hence [((<*[3,0]*> ^ <*x*>) ^ p),e] in X by A14, A17, MCART_1:7; ::_thesis: verum end; let F be Element of QC-Sub-WFF F1(); ::_thesis: P1[F] A20: X c= [:([:NAT,(QC-symbols F1()):] *),(vSUB F1()):] proof let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in X or x in [:([:NAT,(QC-symbols F1()):] *),(vSUB F1()):] ) assume x in X ; ::_thesis: x in [:([:NAT,(QC-symbols F1()):] *),(vSUB F1()):] then ex S being Element of QC-Sub-WFF F1() st ( x = S & P1[S] ) ; then consider p being Element of QC-WFF F1(), e being Element of vSUB F1() such that A21: x = [p,e] by Th8; p = @ p ; then p in [:NAT,(QC-symbols F1()):] * by FINSEQ_1:def_11; hence x in [:([:NAT,(QC-symbols F1()):] *),(vSUB F1()):] by A21, ZFMISC_1:def_2; ::_thesis: verum end; A22: for p, q being FinSequence of [:NAT,(QC-symbols F1()):] for e being Element of vSUB F1() st [p,e] in X & [q,e] in X holds [((<*[2,0]*> ^ p) ^ q),e] in X proof let p, q be FinSequence of [:NAT,(QC-symbols F1()):]; ::_thesis: for e being Element of vSUB F1() st [p,e] in X & [q,e] in X holds [((<*[2,0]*> ^ p) ^ q),e] in X let e be Element of vSUB F1(); ::_thesis: ( [p,e] in X & [q,e] in X implies [((<*[2,0]*> ^ p) ^ q),e] in X ) assume [p,e] in X ; ::_thesis: ( not [q,e] in X or [((<*[2,0]*> ^ p) ^ q),e] in X ) then consider S1 being Element of QC-Sub-WFF F1() such that A23: S1 = [p,e] and A24: P1[S1] ; assume [q,e] in X ; ::_thesis: [((<*[2,0]*> ^ p) ^ q),e] in X then consider S2 being Element of QC-Sub-WFF F1() such that A25: S2 = [q,e] and A26: P1[S2] ; consider p9 being Element of QC-WFF F1(), e1 being Element of vSUB F1() such that A27: [p,e] = [p9,e1] by A23, Th8; A28: e = e1 by A27, XTUPLE_0:1; A29: S1 `2 = e1 by A23, A27, MCART_1:7; then A30: S1 `2 = S2 `2 by A25, A28, MCART_1:7; then P1[ Sub_& (S1,S2)] by A4, A24, A26; then Sub_& (S1,S2) in X ; then A31: [((S1 `1) '&' (S2 `1)),(S1 `2)] in X by A30, Def21; A32: p = p9 by A27, XTUPLE_0:1; S1 `1 = p9 by A23, A27, MCART_1:7; hence [((<*[2,0]*> ^ p) ^ q),e] in X by A25, A32, A28, A29, A31, MCART_1:7; ::_thesis: verum end; for k being Element of NAT for P being QC-pred_symbol of k,F1() for ll being QC-variable_list of k,F1() for e being Element of vSUB F1() holds [(<*P*> ^ ll),e] in X proof let k be Element of NAT ; ::_thesis: for P being QC-pred_symbol of k,F1() for ll being QC-variable_list of k,F1() for e being Element of vSUB F1() holds [(<*P*> ^ ll),e] in X let P be QC-pred_symbol of k,F1(); ::_thesis: for ll being QC-variable_list of k,F1() for e being Element of vSUB F1() holds [(<*P*> ^ ll),e] in X let ll be QC-variable_list of k,F1(); ::_thesis: for e being Element of vSUB F1() holds [(<*P*> ^ ll),e] in X let e be Element of vSUB F1(); ::_thesis: [(<*P*> ^ ll),e] in X ( P1[ Sub_P (P,ll,e)] & [(P ! ll),e] = Sub_P (P,ll,e) ) by A1, Th9; then [(P ! ll),e] in X ; hence [(<*P*> ^ ll),e] in X by QC_LANG1:8; ::_thesis: verum end; then X is F1() -Sub-closed by A20, A6, A7, A22, A13, Def16; then QC-Sub-WFF F1() c= X by Def17; then F in X by TARSKI:def_3; then ex S being Element of QC-Sub-WFF F1() st ( S = F & P1[S] ) ; hence P1[F] ; ::_thesis: verum end; definition let A be QC-alphabet ; let S be Element of QC-Sub-WFF A; attrS is Sub_atomic means :Def25: :: SUBSTUT1:def 25 ex k being Element of NAT ex P being QC-pred_symbol of k,A ex ll being QC-variable_list of k,A ex e being Element of vSUB A st S = Sub_P (P,ll,e); end; :: deftheorem Def25 defines Sub_atomic SUBSTUT1:def_25_:_ for A being QC-alphabet for S being Element of QC-Sub-WFF A holds ( S is Sub_atomic iff ex k being Element of NAT ex P being QC-pred_symbol of k,A ex ll being QC-variable_list of k,A ex e being Element of vSUB A st S = Sub_P (P,ll,e) ); theorem Th11: :: SUBSTUT1:11 for A being QC-alphabet for S being Element of QC-Sub-WFF A st S is Sub_atomic holds S `1 is atomic proof let A be QC-alphabet ; ::_thesis: for S being Element of QC-Sub-WFF A st S is Sub_atomic holds S `1 is atomic let S be Element of QC-Sub-WFF A; ::_thesis: ( S is Sub_atomic implies S `1 is atomic ) assume S is Sub_atomic ; ::_thesis: S `1 is atomic then consider k being Element of NAT , P being QC-pred_symbol of k,A, ll being QC-variable_list of k,A, e being Element of vSUB A such that A1: S = Sub_P (P,ll,e) by Def25; S = [(P ! ll),e] by A1, Th9; then S `1 = P ! ll by MCART_1:7; hence S `1 is atomic by QC_LANG1:def_18; ::_thesis: verum end; registration let A be QC-alphabet ; let k be Element of NAT ; let P be QC-pred_symbol of k,A; let ll be QC-variable_list of k,A; let e be Element of vSUB A; cluster Sub_P (P,ll,e) -> Sub_atomic ; coherence Sub_P (P,ll,e) is Sub_atomic by Def25; end; definition let A be QC-alphabet ; let S be Element of QC-Sub-WFF A; attrS is Sub_negative means :Def26: :: SUBSTUT1:def 26 ex S9 being Element of QC-Sub-WFF A st S = Sub_not S9; attrS is Sub_conjunctive means :Def27: :: SUBSTUT1:def 27 ex S1, S2 being Element of QC-Sub-WFF A st ( S = Sub_& (S1,S2) & S1 `2 = S2 `2 ); end; :: deftheorem Def26 defines Sub_negative SUBSTUT1:def_26_:_ for A being QC-alphabet for S being Element of QC-Sub-WFF A holds ( S is Sub_negative iff ex S9 being Element of QC-Sub-WFF A st S = Sub_not S9 ); :: deftheorem Def27 defines Sub_conjunctive SUBSTUT1:def_27_:_ for A being QC-alphabet for S being Element of QC-Sub-WFF A holds ( S is Sub_conjunctive iff ex S1, S2 being Element of QC-Sub-WFF A st ( S = Sub_& (S1,S2) & S1 `2 = S2 `2 ) ); definition let A be QC-alphabet ; let S be Element of QC-Sub-WFF A; attrS is Sub_universal means :Def28: :: SUBSTUT1:def 28 ex B being Element of [:(QC-Sub-WFF A),(bound_QC-variables A):] ex SQ being second_Q_comp of B st ( S = Sub_All (B,SQ) & B is quantifiable ); end; :: deftheorem Def28 defines Sub_universal SUBSTUT1:def_28_:_ for A being QC-alphabet for S being Element of QC-Sub-WFF A holds ( S is Sub_universal iff ex B being Element of [:(QC-Sub-WFF A),(bound_QC-variables A):] ex SQ being second_Q_comp of B st ( S = Sub_All (B,SQ) & B is quantifiable ) ); theorem Th12: :: SUBSTUT1:12 for A being QC-alphabet for S being Element of QC-Sub-WFF A holds ( S is A -Sub_VERUM or S is Sub_atomic or S is Sub_negative or S is Sub_conjunctive or S is Sub_universal ) proof let A be QC-alphabet ; ::_thesis: for S being Element of QC-Sub-WFF A holds ( S is A -Sub_VERUM or S is Sub_atomic or S is Sub_negative or S is Sub_conjunctive or S is Sub_universal ) defpred S1[ Element of QC-Sub-WFF A] means ( $1 is A -Sub_VERUM or $1 is Sub_atomic or $1 is Sub_negative or $1 is Sub_conjunctive or $1 is Sub_universal ); A1: for k being Element of NAT for p being QC-pred_symbol of k,A for ll being QC-variable_list of k,A for e being Element of vSUB A holds S1[ Sub_P (p,ll,e)] ; A2: for S being Element of QC-Sub-WFF A st S is A -Sub_VERUM holds S1[S] ; A3: for x being bound_QC-variable of A for S being Element of QC-Sub-WFF A for SQ being second_Q_comp of [S,x] st [S,x] is quantifiable & S1[S] holds S1[ Sub_All ([S,x],SQ)] by Def28; A4: for S1, S2 being Element of QC-Sub-WFF A st S1 `2 = S2 `2 & S1[S1] & S1[S2] holds S1[ Sub_& (S1,S2)] by Def27; A5: for S being Element of QC-Sub-WFF A st S1[S] holds S1[ Sub_not S] by Def26; thus for S being Element of QC-Sub-WFF A holds S1[S] from SUBSTUT1:sch_1(A1, A2, A5, A4, A3); ::_thesis: verum end; definition let A be QC-alphabet ; let S be Element of QC-Sub-WFF A; assume B1: S is Sub_atomic ; func Sub_the_arguments_of S -> FinSequence of QC-variables A means :Def29: :: SUBSTUT1:def 29 ex k being Element of NAT ex P being QC-pred_symbol of k,A ex ll being QC-variable_list of k,A ex e being Element of vSUB A st ( it = ll & S = Sub_P (P,ll,e) ); existence ex b1 being FinSequence of QC-variables A ex k being Element of NAT ex P being QC-pred_symbol of k,A ex ll being QC-variable_list of k,A ex e being Element of vSUB A st ( b1 = ll & S = Sub_P (P,ll,e) ) proof consider k being Element of NAT , P being QC-pred_symbol of k,A, ll being QC-variable_list of k,A, e being Element of vSUB A such that A1: S = Sub_P (P,ll,e) by B1, Def25; reconsider ll = ll as FinSequence of QC-variables A ; take ll ; ::_thesis: ex k being Element of NAT ex P being QC-pred_symbol of k,A ex ll being QC-variable_list of k,A ex e being Element of vSUB A st ( ll = ll & S = Sub_P (P,ll,e) ) thus ex k being Element of NAT ex P being QC-pred_symbol of k,A ex ll being QC-variable_list of k,A ex e being Element of vSUB A st ( ll = ll & S = Sub_P (P,ll,e) ) by A1; ::_thesis: verum end; uniqueness for b1, b2 being FinSequence of QC-variables A st ex k being Element of NAT ex P being QC-pred_symbol of k,A ex ll being QC-variable_list of k,A ex e being Element of vSUB A st ( b1 = ll & S = Sub_P (P,ll,e) ) & ex k being Element of NAT ex P being QC-pred_symbol of k,A ex ll being QC-variable_list of k,A ex e being Element of vSUB A st ( b2 = ll & S = Sub_P (P,ll,e) ) holds b1 = b2 proof let ll1, ll2 be FinSequence of QC-variables A; ::_thesis: ( ex k being Element of NAT ex P being QC-pred_symbol of k,A ex ll being QC-variable_list of k,A ex e being Element of vSUB A st ( ll1 = ll & S = Sub_P (P,ll,e) ) & ex k being Element of NAT ex P being QC-pred_symbol of k,A ex ll being QC-variable_list of k,A ex e being Element of vSUB A st ( ll2 = ll & S = Sub_P (P,ll,e) ) implies ll1 = ll2 ) given k1 being Element of NAT , P1 being QC-pred_symbol of k1,A, ll19 being QC-variable_list of k1,A, e1 being Element of vSUB A such that A2: ll1 = ll19 and A3: S = Sub_P (P1,ll19,e1) ; ::_thesis: ( for k being Element of NAT for P being QC-pred_symbol of k,A for ll being QC-variable_list of k,A for e being Element of vSUB A holds ( not ll2 = ll or not S = Sub_P (P,ll,e) ) or ll1 = ll2 ) A4: S = [(P1 ! ll19),e1] by A3, Th9; given k2 being Element of NAT , P2 being QC-pred_symbol of k2,A, ll29 being QC-variable_list of k2,A, e2 being Element of vSUB A such that A5: ll2 = ll29 and A6: S = Sub_P (P2,ll29,e2) ; ::_thesis: ll1 = ll2 <*P1*> ^ ll19 = P1 ! ll19 by QC_LANG1:8; then A7: ( <*P2*> ^ ll29 = P2 ! ll29 & S `1 = <*P1*> ^ ll19 ) by A4, MCART_1:7, QC_LANG1:8; A8: S `1 is atomic by B1, Th11; A9: S = [(P2 ! ll29),e2] by A6, Th9; then A10: S `1 = P2 ! ll29 by MCART_1:7; S `1 = P1 ! ll19 by A4, MCART_1:7; then P1 = the_pred_symbol_of (S `1) by A8, QC_LANG1:def_22 .= P2 by A10, A8, QC_LANG1:def_22 ; hence ll1 = ll2 by A2, A5, A9, A7, FINSEQ_1:33, MCART_1:7; ::_thesis: verum end; end; :: deftheorem Def29 defines Sub_the_arguments_of SUBSTUT1:def_29_:_ for A being QC-alphabet for S being Element of QC-Sub-WFF A st S is Sub_atomic holds for b3 being FinSequence of QC-variables A holds ( b3 = Sub_the_arguments_of S iff ex k being Element of NAT ex P being QC-pred_symbol of k,A ex ll being QC-variable_list of k,A ex e being Element of vSUB A st ( b3 = ll & S = Sub_P (P,ll,e) ) ); definition let A be QC-alphabet ; let S be Element of QC-Sub-WFF A; assume A1: S is Sub_negative ; func Sub_the_argument_of S -> Element of QC-Sub-WFF A means :Def30: :: SUBSTUT1:def 30 S = Sub_not it; existence ex b1 being Element of QC-Sub-WFF A st S = Sub_not b1 by A1, Def26; uniqueness for b1, b2 being Element of QC-Sub-WFF A st S = Sub_not b1 & S = Sub_not b2 holds b1 = b2 proof let S1, S2 be Element of QC-Sub-WFF A; ::_thesis: ( S = Sub_not S1 & S = Sub_not S2 implies S1 = S2 ) A1: ( S1 = [(S1 `1),(S1 `2)] & S2 = [(S2 `1),(S2 `2)] ) by Th10; assume A2: ( S = Sub_not S1 & S = Sub_not S2 ) ; ::_thesis: S1 = S2 then 'not' (S1 `1) = 'not' (S2 `1) by XTUPLE_0:1; then S1 `1 = S2 `1 by FINSEQ_1:33; hence S1 = S2 by A2, A1, XTUPLE_0:1; ::_thesis: verum end; end; :: deftheorem Def30 defines Sub_the_argument_of SUBSTUT1:def_30_:_ for A being QC-alphabet for S being Element of QC-Sub-WFF A st S is Sub_negative holds for b3 being Element of QC-Sub-WFF A holds ( b3 = Sub_the_argument_of S iff S = Sub_not b3 ); definition let A be QC-alphabet ; let S be Element of QC-Sub-WFF A; assume A1: S is Sub_conjunctive ; func Sub_the_left_argument_of S -> Element of QC-Sub-WFF A means :Def31: :: SUBSTUT1:def 31 ex S9 being Element of QC-Sub-WFF A st ( S = Sub_& (it,S9) & it `2 = S9 `2 ); existence ex b1, S9 being Element of QC-Sub-WFF A st ( S = Sub_& (b1,S9) & b1 `2 = S9 `2 ) by A1, Def27; uniqueness for b1, b2 being Element of QC-Sub-WFF A st ex S9 being Element of QC-Sub-WFF A st ( S = Sub_& (b1,S9) & b1 `2 = S9 `2 ) & ex S9 being Element of QC-Sub-WFF A st ( S = Sub_& (b2,S9) & b2 `2 = S9 `2 ) holds b1 = b2 proof let S1, S2 be Element of QC-Sub-WFF A; ::_thesis: ( ex S9 being Element of QC-Sub-WFF A st ( S = Sub_& (S1,S9) & S1 `2 = S9 `2 ) & ex S9 being Element of QC-Sub-WFF A st ( S = Sub_& (S2,S9) & S2 `2 = S9 `2 ) implies S1 = S2 ) given T1 being Element of QC-Sub-WFF A such that A1: ( S = Sub_& (S1,T1) & S1 `2 = T1 `2 ) ; ::_thesis: ( for S9 being Element of QC-Sub-WFF A holds ( not S = Sub_& (S2,S9) or not S2 `2 = S9 `2 ) or S1 = S2 ) given T2 being Element of QC-Sub-WFF A such that A2: ( S = Sub_& (S2,T2) & S2 `2 = T2 `2 ) ; ::_thesis: S1 = S2 A3: ( len (@ (S1 `1)) <= len (@ (S2 `1)) or len (@ (S2 `1)) <= len (@ (S1 `1)) ) ; A4: S = [((S2 `1) '&' (T2 `1)),(S2 `2)] by A2, Def21; A5: S = [((S1 `1) '&' (T1 `1)),(S1 `2)] by A1, Def21; then (S1 `1) '&' (T1 `1) = (S2 `1) '&' (T2 `1) by A4, XTUPLE_0:1; then <*[2,0]*> ^ ((@ (S1 `1)) ^ (@ (T1 `1))) = (S2 `1) '&' (T2 `1) by FINSEQ_1:32 .= <*[2,0]*> ^ ((@ (S2 `1)) ^ (@ (T2 `1))) by FINSEQ_1:32 ; then (@ (S1 `1)) ^ (@ (T1 `1)) = (@ (S2 `1)) ^ (@ (T2 `1)) by FINSEQ_1:33; then consider a, b, c, d being FinSequence such that A6: ( ( a = @ (S1 `1) & b = @ (S2 `1) ) or ( a = @ (S2 `1) & b = @ (S1 `1) ) ) and A7: ( len a <= len b & a ^ c = b ^ d ) by A3; A8: ( S1 = [(S1 `1),(S1 `2)] & S2 = [(S2 `1),(S2 `2)] ) by Th10; ex t being FinSequence st a ^ t = b by A7, FINSEQ_1:47; then S1 `1 = S2 `1 by A6, QC_LANG1:13; hence S1 = S2 by A5, A4, A8, XTUPLE_0:1; ::_thesis: verum end; end; :: deftheorem Def31 defines Sub_the_left_argument_of SUBSTUT1:def_31_:_ for A being QC-alphabet for S being Element of QC-Sub-WFF A st S is Sub_conjunctive holds for b3 being Element of QC-Sub-WFF A holds ( b3 = Sub_the_left_argument_of S iff ex S9 being Element of QC-Sub-WFF A st ( S = Sub_& (b3,S9) & b3 `2 = S9 `2 ) ); definition let A be QC-alphabet ; let S be Element of QC-Sub-WFF A; assume B1: S is Sub_conjunctive ; func Sub_the_right_argument_of S -> Element of QC-Sub-WFF A means :Def32: :: SUBSTUT1:def 32 ex S9 being Element of QC-Sub-WFF A st ( S = Sub_& (S9,it) & S9 `2 = it `2 ); existence ex b1, S9 being Element of QC-Sub-WFF A st ( S = Sub_& (S9,b1) & S9 `2 = b1 `2 ) proof consider S1, S2 being Element of QC-Sub-WFF A such that A1: ( S = Sub_& (S1,S2) & S1 `2 = S2 `2 ) by B1, Def27; take S2 ; ::_thesis: ex S9 being Element of QC-Sub-WFF A st ( S = Sub_& (S9,S2) & S9 `2 = S2 `2 ) thus ex S9 being Element of QC-Sub-WFF A st ( S = Sub_& (S9,S2) & S9 `2 = S2 `2 ) by A1; ::_thesis: verum end; uniqueness for b1, b2 being Element of QC-Sub-WFF A st ex S9 being Element of QC-Sub-WFF A st ( S = Sub_& (S9,b1) & S9 `2 = b1 `2 ) & ex S9 being Element of QC-Sub-WFF A st ( S = Sub_& (S9,b2) & S9 `2 = b2 `2 ) holds b1 = b2 proof let T1, T2 be Element of QC-Sub-WFF A; ::_thesis: ( ex S9 being Element of QC-Sub-WFF A st ( S = Sub_& (S9,T1) & S9 `2 = T1 `2 ) & ex S9 being Element of QC-Sub-WFF A st ( S = Sub_& (S9,T2) & S9 `2 = T2 `2 ) implies T1 = T2 ) given S1 being Element of QC-Sub-WFF A such that A2: ( S = Sub_& (S1,T1) & S1 `2 = T1 `2 ) ; ::_thesis: ( for S9 being Element of QC-Sub-WFF A holds ( not S = Sub_& (S9,T2) or not S9 `2 = T2 `2 ) or T1 = T2 ) A3: ( T1 = [(T1 `1),(T1 `2)] & T2 = [(T2 `1),(T2 `2)] ) by Th10; given S2 being Element of QC-Sub-WFF A such that A4: ( S = Sub_& (S2,T2) & S2 `2 = T2 `2 ) ; ::_thesis: T1 = T2 A5: S = [((S1 `1) '&' (T1 `1)),(T1 `2)] by A2, Def21; A6: S = [((S2 `1) '&' (T2 `1)),(T2 `2)] by A4, Def21; then (S1 `1) '&' (T1 `1) = (S2 `1) '&' (T2 `1) by A5, XTUPLE_0:1; then <*[2,0]*> ^ ((@ (S1 `1)) ^ (@ (T1 `1))) = (S2 `1) '&' (T2 `1) by FINSEQ_1:32 .= <*[2,0]*> ^ ((@ (S2 `1)) ^ (@ (T2 `1))) by FINSEQ_1:32 ; then A7: (@ (S1 `1)) ^ (@ (T1 `1)) = (@ (S2 `1)) ^ (@ (T2 `1)) by FINSEQ_1:33; S1 = Sub_the_left_argument_of S by B1, A2, Def31 .= S2 by B1, A4, Def31 ; then @ (T1 `1) = @ (T2 `1) by A7, FINSEQ_1:33; hence T1 = T2 by A5, A6, A3, XTUPLE_0:1; ::_thesis: verum end; end; :: deftheorem Def32 defines Sub_the_right_argument_of SUBSTUT1:def_32_:_ for A being QC-alphabet for S being Element of QC-Sub-WFF A st S is Sub_conjunctive holds for b3 being Element of QC-Sub-WFF A holds ( b3 = Sub_the_right_argument_of S iff ex S9 being Element of QC-Sub-WFF A st ( S = Sub_& (S9,b3) & S9 `2 = b3 `2 ) ); definition let A be QC-alphabet ; let S be Element of QC-Sub-WFF A; assume B1: S is Sub_universal ; func Sub_the_bound_of S -> bound_QC-variable of A means :: SUBSTUT1:def 33 ex B being Element of [:(QC-Sub-WFF A),(bound_QC-variables A):] ex SQ being second_Q_comp of B st ( S = Sub_All (B,SQ) & B `2 = it & B is quantifiable ); existence ex b1 being bound_QC-variable of A ex B being Element of [:(QC-Sub-WFF A),(bound_QC-variables A):] ex SQ being second_Q_comp of B st ( S = Sub_All (B,SQ) & B `2 = b1 & B is quantifiable ) proof consider B being Element of [:(QC-Sub-WFF A),(bound_QC-variables A):], SQ being second_Q_comp of B such that A1: ( S = Sub_All (B,SQ) & B is quantifiable ) by B1, Def28; take B `2 ; ::_thesis: ex B being Element of [:(QC-Sub-WFF A),(bound_QC-variables A):] ex SQ being second_Q_comp of B st ( S = Sub_All (B,SQ) & B `2 = B `2 & B is quantifiable ) thus ex B being Element of [:(QC-Sub-WFF A),(bound_QC-variables A):] ex SQ being second_Q_comp of B st ( S = Sub_All (B,SQ) & B `2 = B `2 & B is quantifiable ) by A1; ::_thesis: verum end; uniqueness for b1, b2 being bound_QC-variable of A st ex B being Element of [:(QC-Sub-WFF A),(bound_QC-variables A):] ex SQ being second_Q_comp of B st ( S = Sub_All (B,SQ) & B `2 = b1 & B is quantifiable ) & ex B being Element of [:(QC-Sub-WFF A),(bound_QC-variables A):] ex SQ being second_Q_comp of B st ( S = Sub_All (B,SQ) & B `2 = b2 & B is quantifiable ) holds b1 = b2 proof let x1, x2 be bound_QC-variable of A; ::_thesis: ( ex B being Element of [:(QC-Sub-WFF A),(bound_QC-variables A):] ex SQ being second_Q_comp of B st ( S = Sub_All (B,SQ) & B `2 = x1 & B is quantifiable ) & ex B being Element of [:(QC-Sub-WFF A),(bound_QC-variables A):] ex SQ being second_Q_comp of B st ( S = Sub_All (B,SQ) & B `2 = x2 & B is quantifiable ) implies x1 = x2 ) assume that A2: ex B being Element of [:(QC-Sub-WFF A),(bound_QC-variables A):] ex SQ being second_Q_comp of B st ( S = Sub_All (B,SQ) & B `2 = x1 & B is quantifiable ) and A3: ex B being Element of [:(QC-Sub-WFF A),(bound_QC-variables A):] ex SQ being second_Q_comp of B st ( S = Sub_All (B,SQ) & B `2 = x2 & B is quantifiable ) ; ::_thesis: x1 = x2 consider B1 being Element of [:(QC-Sub-WFF A),(bound_QC-variables A):], SQ1 being second_Q_comp of B1 such that A4: S = Sub_All (B1,SQ1) and A5: B1 `2 = x1 and A6: B1 is quantifiable by A2; consider B2 being Element of [:(QC-Sub-WFF A),(bound_QC-variables A):], SQ2 being second_Q_comp of B2 such that A7: S = Sub_All (B2,SQ2) and A8: B2 `2 = x2 and A9: B2 is quantifiable by A3; A10: [(All ((B2 `2),((B2 `1) `1))),SQ2] = S by A7, A9, Def24; [(All ((B1 `2),((B1 `1) `1))),SQ1] = S by A4, A6, Def24; then All ((B1 `2),((B1 `1) `1)) = All ((B2 `2),((B2 `1) `1)) by A10, XTUPLE_0:1; hence x1 = x2 by A5, A8, QC_LANG2:5; ::_thesis: verum end; end; :: deftheorem defines Sub_the_bound_of SUBSTUT1:def_33_:_ for A being QC-alphabet for S being Element of QC-Sub-WFF A st S is Sub_universal holds for b3 being bound_QC-variable of A holds ( b3 = Sub_the_bound_of S iff ex B being Element of [:(QC-Sub-WFF A),(bound_QC-variables A):] ex SQ being second_Q_comp of B st ( S = Sub_All (B,SQ) & B `2 = b3 & B is quantifiable ) ); definition let A be QC-alphabet ; let A2 be Element of QC-Sub-WFF A; assume B1: A2 is Sub_universal ; func Sub_the_scope_of A2 -> Element of QC-Sub-WFF A means :Def34: :: SUBSTUT1:def 34 ex B being Element of [:(QC-Sub-WFF A),(bound_QC-variables A):] ex SQ being second_Q_comp of B st ( A2 = Sub_All (B,SQ) & B `1 = it & B is quantifiable ); existence ex b1 being Element of QC-Sub-WFF A ex B being Element of [:(QC-Sub-WFF A),(bound_QC-variables A):] ex SQ being second_Q_comp of B st ( A2 = Sub_All (B,SQ) & B `1 = b1 & B is quantifiable ) proof consider B being Element of [:(QC-Sub-WFF A),(bound_QC-variables A):], SQ being second_Q_comp of B such that A1: ( A2 = Sub_All (B,SQ) & B is quantifiable ) by B1, Def28; take B `1 ; ::_thesis: ex B being Element of [:(QC-Sub-WFF A),(bound_QC-variables A):] ex SQ being second_Q_comp of B st ( A2 = Sub_All (B,SQ) & B `1 = B `1 & B is quantifiable ) thus ex B being Element of [:(QC-Sub-WFF A),(bound_QC-variables A):] ex SQ being second_Q_comp of B st ( A2 = Sub_All (B,SQ) & B `1 = B `1 & B is quantifiable ) by A1; ::_thesis: verum end; uniqueness for b1, b2 being Element of QC-Sub-WFF A st ex B being Element of [:(QC-Sub-WFF A),(bound_QC-variables A):] ex SQ being second_Q_comp of B st ( A2 = Sub_All (B,SQ) & B `1 = b1 & B is quantifiable ) & ex B being Element of [:(QC-Sub-WFF A),(bound_QC-variables A):] ex SQ being second_Q_comp of B st ( A2 = Sub_All (B,SQ) & B `1 = b2 & B is quantifiable ) holds b1 = b2 proof let S1, S2 be Element of QC-Sub-WFF A; ::_thesis: ( ex B being Element of [:(QC-Sub-WFF A),(bound_QC-variables A):] ex SQ being second_Q_comp of B st ( A2 = Sub_All (B,SQ) & B `1 = S1 & B is quantifiable ) & ex B being Element of [:(QC-Sub-WFF A),(bound_QC-variables A):] ex SQ being second_Q_comp of B st ( A2 = Sub_All (B,SQ) & B `1 = S2 & B is quantifiable ) implies S1 = S2 ) given B1 being Element of [:(QC-Sub-WFF A),(bound_QC-variables A):], SQ1 being second_Q_comp of B1 such that A2: A2 = Sub_All (B1,SQ1) and A3: B1 `1 = S1 and A4: B1 is quantifiable ; ::_thesis: ( for B being Element of [:(QC-Sub-WFF A),(bound_QC-variables A):] for SQ being second_Q_comp of B holds ( not A2 = Sub_All (B,SQ) or not B `1 = S2 or not B is quantifiable ) or S1 = S2 ) A5: A2 = [(All ((B1 `2),((B1 `1) `1))),SQ1] by A2, A4, Def24; A6: (B1 `1) `2 = (QSub A) . [(All ((B1 `2),((B1 `1) `1))),SQ1] by A4, Def23; given B2 being Element of [:(QC-Sub-WFF A),(bound_QC-variables A):], SQ2 being second_Q_comp of B2 such that A7: A2 = Sub_All (B2,SQ2) and A8: B2 `1 = S2 and A9: B2 is quantifiable ; ::_thesis: S1 = S2 A10: ( B1 `1 = [((B1 `1) `1),((B1 `1) `2)] & B2 `1 = [((B2 `1) `1),((B2 `1) `2)] ) by Th10; A11: A2 = [(All ((B2 `2),((B2 `1) `1))),SQ2] by A7, A9, Def24; then All ((B1 `2),((B1 `1) `1)) = All ((B2 `2),((B2 `1) `1)) by A5, XTUPLE_0:1; then (B1 `1) `1 = (B2 `1) `1 by QC_LANG2:5; hence S1 = S2 by A3, A8, A9, A5, A11, A6, A10, Def23; ::_thesis: verum end; end; :: deftheorem Def34 defines Sub_the_scope_of SUBSTUT1:def_34_:_ for A being QC-alphabet for A2 being Element of QC-Sub-WFF A st A2 is Sub_universal holds for b3 being Element of QC-Sub-WFF A holds ( b3 = Sub_the_scope_of A2 iff ex B being Element of [:(QC-Sub-WFF A),(bound_QC-variables A):] ex SQ being second_Q_comp of B st ( A2 = Sub_All (B,SQ) & B `1 = b3 & B is quantifiable ) ); registration let A be QC-alphabet ; let S be Element of QC-Sub-WFF A; cluster Sub_not S -> Sub_negative ; coherence Sub_not S is Sub_negative proof take S ; :: according to SUBSTUT1:def_26 ::_thesis: Sub_not S = Sub_not S thus Sub_not S = Sub_not S ; ::_thesis: verum end; end; theorem Th13: :: SUBSTUT1:13 for A being QC-alphabet for S1, S2 being Element of QC-Sub-WFF A st S1 `2 = S2 `2 holds Sub_& (S1,S2) is Sub_conjunctive proof let A be QC-alphabet ; ::_thesis: for S1, S2 being Element of QC-Sub-WFF A st S1 `2 = S2 `2 holds Sub_& (S1,S2) is Sub_conjunctive let S1, S2 be Element of QC-Sub-WFF A; ::_thesis: ( S1 `2 = S2 `2 implies Sub_& (S1,S2) is Sub_conjunctive ) assume A1: S1 `2 = S2 `2 ; ::_thesis: Sub_& (S1,S2) is Sub_conjunctive take S1 ; :: according to SUBSTUT1:def_27 ::_thesis: ex S2 being Element of QC-Sub-WFF A st ( Sub_& (S1,S2) = Sub_& (S1,S2) & S1 `2 = S2 `2 ) take S2 ; ::_thesis: ( Sub_& (S1,S2) = Sub_& (S1,S2) & S1 `2 = S2 `2 ) thus ( Sub_& (S1,S2) = Sub_& (S1,S2) & S1 `2 = S2 `2 ) by A1; ::_thesis: verum end; theorem Th14: :: SUBSTUT1:14 for A being QC-alphabet for B being Element of [:(QC-Sub-WFF A),(bound_QC-variables A):] for SQ being second_Q_comp of B st B is quantifiable holds Sub_All (B,SQ) is Sub_universal proof let A be QC-alphabet ; ::_thesis: for B being Element of [:(QC-Sub-WFF A),(bound_QC-variables A):] for SQ being second_Q_comp of B st B is quantifiable holds Sub_All (B,SQ) is Sub_universal let B be Element of [:(QC-Sub-WFF A),(bound_QC-variables A):]; ::_thesis: for SQ being second_Q_comp of B st B is quantifiable holds Sub_All (B,SQ) is Sub_universal let SQ be second_Q_comp of B; ::_thesis: ( B is quantifiable implies Sub_All (B,SQ) is Sub_universal ) assume A1: B is quantifiable ; ::_thesis: Sub_All (B,SQ) is Sub_universal take B ; :: according to SUBSTUT1:def_28 ::_thesis: ex SQ being second_Q_comp of B st ( Sub_All (B,SQ) = Sub_All (B,SQ) & B is quantifiable ) take SQ ; ::_thesis: ( Sub_All (B,SQ) = Sub_All (B,SQ) & B is quantifiable ) thus ( Sub_All (B,SQ) = Sub_All (B,SQ) & B is quantifiable ) by A1; ::_thesis: verum end; theorem :: SUBSTUT1:15 for A being QC-alphabet for S, S9 being Element of QC-Sub-WFF A st Sub_not S = Sub_not S9 holds S = S9 proof let A be QC-alphabet ; ::_thesis: for S, S9 being Element of QC-Sub-WFF A st Sub_not S = Sub_not S9 holds S = S9 let S, S9 be Element of QC-Sub-WFF A; ::_thesis: ( Sub_not S = Sub_not S9 implies S = S9 ) assume Sub_not S = Sub_not S9 ; ::_thesis: S = S9 then A1: ( 'not' (S `1) = 'not' (S9 `1) & S `2 = S9 `2 ) by XTUPLE_0:1; ( S = [(S `1),(S `2)] & S9 = [(S9 `1),(S9 `2)] ) by Th10; hence S = S9 by A1, FINSEQ_1:33; ::_thesis: verum end; theorem :: SUBSTUT1:16 for A being QC-alphabet for S being Element of QC-Sub-WFF A holds Sub_the_argument_of (Sub_not S) = S by Def30; theorem :: SUBSTUT1:17 for A being QC-alphabet for S1, S2, S19, S29 being Element of QC-Sub-WFF A st S1 `2 = S2 `2 & S19 `2 = S29 `2 & Sub_& (S1,S2) = Sub_& (S19,S29) holds ( S1 = S19 & S2 = S29 ) proof let A be QC-alphabet ; ::_thesis: for S1, S2, S19, S29 being Element of QC-Sub-WFF A st S1 `2 = S2 `2 & S19 `2 = S29 `2 & Sub_& (S1,S2) = Sub_& (S19,S29) holds ( S1 = S19 & S2 = S29 ) let S1, S2, S19, S29 be Element of QC-Sub-WFF A; ::_thesis: ( S1 `2 = S2 `2 & S19 `2 = S29 `2 & Sub_& (S1,S2) = Sub_& (S19,S29) implies ( S1 = S19 & S2 = S29 ) ) assume that A1: S1 `2 = S2 `2 and A2: S19 `2 = S29 `2 and A3: Sub_& (S1,S2) = Sub_& (S19,S29) ; ::_thesis: ( S1 = S19 & S2 = S29 ) Sub_& (S1,S2) = [((S1 `1) '&' (S2 `1)),(S1 `2)] by A1, Def21; then [((S1 `1) '&' (S2 `1)),(S1 `2)] = [((S19 `1) '&' (S29 `1)),(S19 `2)] by A2, A3, Def21; then A4: ( (S1 `1) '&' (S2 `1) = (S19 `1) '&' (S29 `1) & S1 `2 = S19 `2 ) by XTUPLE_0:1; A5: ( S2 = [(S2 `1),(S2 `2)] & S29 = [(S29 `1),(S29 `2)] ) by Th10; ( S1 = [(S1 `1),(S1 `2)] & S19 = [(S19 `1),(S19 `2)] ) by Th10; hence ( S1 = S19 & S2 = S29 ) by A1, A2, A4, A5, QC_LANG2:2; ::_thesis: verum end; theorem Th18: :: SUBSTUT1:18 for A being QC-alphabet for S1, S2 being Element of QC-Sub-WFF A st S1 `2 = S2 `2 holds Sub_the_left_argument_of (Sub_& (S1,S2)) = S1 proof let A be QC-alphabet ; ::_thesis: for S1, S2 being Element of QC-Sub-WFF A st S1 `2 = S2 `2 holds Sub_the_left_argument_of (Sub_& (S1,S2)) = S1 let S1, S2 be Element of QC-Sub-WFF A; ::_thesis: ( S1 `2 = S2 `2 implies Sub_the_left_argument_of (Sub_& (S1,S2)) = S1 ) assume A1: S1 `2 = S2 `2 ; ::_thesis: Sub_the_left_argument_of (Sub_& (S1,S2)) = S1 then Sub_& (S1,S2) is Sub_conjunctive by Th13; hence Sub_the_left_argument_of (Sub_& (S1,S2)) = S1 by A1, Def31; ::_thesis: verum end; theorem Th19: :: SUBSTUT1:19 for A being QC-alphabet for S1, S2 being Element of QC-Sub-WFF A st S1 `2 = S2 `2 holds Sub_the_right_argument_of (Sub_& (S1,S2)) = S2 proof let A be QC-alphabet ; ::_thesis: for S1, S2 being Element of QC-Sub-WFF A st S1 `2 = S2 `2 holds Sub_the_right_argument_of (Sub_& (S1,S2)) = S2 let S1, S2 be Element of QC-Sub-WFF A; ::_thesis: ( S1 `2 = S2 `2 implies Sub_the_right_argument_of (Sub_& (S1,S2)) = S2 ) assume A1: S1 `2 = S2 `2 ; ::_thesis: Sub_the_right_argument_of (Sub_& (S1,S2)) = S2 then Sub_& (S1,S2) is Sub_conjunctive by Th13; hence Sub_the_right_argument_of (Sub_& (S1,S2)) = S2 by A1, Def32; ::_thesis: verum end; theorem :: SUBSTUT1:20 for A being QC-alphabet for B1, B2 being Element of [:(QC-Sub-WFF A),(bound_QC-variables A):] for SQ1 being second_Q_comp of B1 for SQ2 being second_Q_comp of B2 st B1 is quantifiable & B2 is quantifiable & Sub_All (B1,SQ1) = Sub_All (B2,SQ2) holds B1 = B2 proof let A be QC-alphabet ; ::_thesis: for B1, B2 being Element of [:(QC-Sub-WFF A),(bound_QC-variables A):] for SQ1 being second_Q_comp of B1 for SQ2 being second_Q_comp of B2 st B1 is quantifiable & B2 is quantifiable & Sub_All (B1,SQ1) = Sub_All (B2,SQ2) holds B1 = B2 let B1, B2 be Element of [:(QC-Sub-WFF A),(bound_QC-variables A):]; ::_thesis: for SQ1 being second_Q_comp of B1 for SQ2 being second_Q_comp of B2 st B1 is quantifiable & B2 is quantifiable & Sub_All (B1,SQ1) = Sub_All (B2,SQ2) holds B1 = B2 let SQ1 be second_Q_comp of B1; ::_thesis: for SQ2 being second_Q_comp of B2 st B1 is quantifiable & B2 is quantifiable & Sub_All (B1,SQ1) = Sub_All (B2,SQ2) holds B1 = B2 let SQ2 be second_Q_comp of B2; ::_thesis: ( B1 is quantifiable & B2 is quantifiable & Sub_All (B1,SQ1) = Sub_All (B2,SQ2) implies B1 = B2 ) assume that A1: B1 is quantifiable and A2: B2 is quantifiable and A3: Sub_All (B1,SQ1) = Sub_All (B2,SQ2) ; ::_thesis: B1 = B2 A4: ( Sub_All (B1,SQ1) = [(All ((B1 `2),((B1 `1) `1))),SQ1] & Sub_All (B2,SQ2) = [(All ((B2 `2),((B2 `1) `1))),SQ2] ) by A1, A2, Def24; then All ((B1 `2),((B1 `1) `1)) = All ((B2 `2),((B2 `1) `1)) by A3, XTUPLE_0:1; then A5: ( B1 `2 = B2 `2 & (B1 `1) `1 = (B2 `1) `1 ) by QC_LANG2:5; ex a, b being set st ( a in QC-Sub-WFF A & b in bound_QC-variables A & B2 = [a,b] ) by ZFMISC_1:def_2; then A6: B2 = [(B2 `1),(B2 `2)] by MCART_1:8; ex a, b being set st ( a in QC-Sub-WFF A & b in bound_QC-variables A & B1 = [a,b] ) by ZFMISC_1:def_2; then A7: B1 = [(B1 `1),(B1 `2)] by MCART_1:8; A8: ( B1 `1 = [((B1 `1) `1),((B1 `1) `2)] & B2 `1 = [((B2 `1) `1),((B2 `1) `2)] ) by Th10; (B1 `1) `2 = (QSub A) . [(All ((B1 `2),((B1 `1) `1))),SQ1] by A1, Def23; hence B1 = B2 by A2, A3, A4, A5, A8, A7, A6, Def23; ::_thesis: verum end; theorem Th21: :: SUBSTUT1:21 for A being QC-alphabet for B being Element of [:(QC-Sub-WFF A),(bound_QC-variables A):] for SQ being second_Q_comp of B st B is quantifiable holds Sub_the_scope_of (Sub_All (B,SQ)) = B `1 proof let A be QC-alphabet ; ::_thesis: for B being Element of [:(QC-Sub-WFF A),(bound_QC-variables A):] for SQ being second_Q_comp of B st B is quantifiable holds Sub_the_scope_of (Sub_All (B,SQ)) = B `1 let B be Element of [:(QC-Sub-WFF A),(bound_QC-variables A):]; ::_thesis: for SQ being second_Q_comp of B st B is quantifiable holds Sub_the_scope_of (Sub_All (B,SQ)) = B `1 let SQ be second_Q_comp of B; ::_thesis: ( B is quantifiable implies Sub_the_scope_of (Sub_All (B,SQ)) = B `1 ) assume A1: B is quantifiable ; ::_thesis: Sub_the_scope_of (Sub_All (B,SQ)) = B `1 then Sub_All (B,SQ) is Sub_universal by Th14; hence Sub_the_scope_of (Sub_All (B,SQ)) = B `1 by A1, Def34; ::_thesis: verum end; scheme :: SUBSTUT1:sch 2 SubQCInd2{ F1() -> QC-alphabet , P1[ Element of QC-Sub-WFF F1()] } : for S being Element of QC-Sub-WFF F1() holds P1[S] provided A1: for S being Element of QC-Sub-WFF F1() holds ( ( S is Sub_atomic implies P1[S] ) & ( S is F1() -Sub_VERUM implies P1[S] ) & ( S is Sub_negative & P1[ Sub_the_argument_of S] implies P1[S] ) & ( S is Sub_conjunctive & P1[ Sub_the_left_argument_of S] & P1[ Sub_the_right_argument_of S] implies P1[S] ) & ( S is Sub_universal & P1[ Sub_the_scope_of S] implies P1[S] ) ) proof A2: now__::_thesis:_for_x_being_bound_QC-variable_of_F1() for_S_being_Element_of_QC-Sub-WFF_F1() for_SQ_being_second_Q_comp_of_[S,x]_st_[S,x]_is_quantifiable_&_P1[S]_holds_ P1[_Sub_All_([S,x],SQ)] let x be bound_QC-variable of F1(); ::_thesis: for S being Element of QC-Sub-WFF F1() for SQ being second_Q_comp of [S,x] st [S,x] is quantifiable & P1[S] holds P1[ Sub_All ([S,x],SQ)] let S be Element of QC-Sub-WFF F1(); ::_thesis: for SQ being second_Q_comp of [S,x] st [S,x] is quantifiable & P1[S] holds P1[ Sub_All ([S,x],SQ)] let SQ be second_Q_comp of [S,x]; ::_thesis: ( [S,x] is quantifiable & P1[S] implies P1[ Sub_All ([S,x],SQ)] ) assume that A3: [S,x] is quantifiable and A4: P1[S] ; ::_thesis: P1[ Sub_All ([S,x],SQ)] [S,x] `1 = Sub_the_scope_of (Sub_All ([S,x],SQ)) by A3, Th21; then A5: S = Sub_the_scope_of (Sub_All ([S,x],SQ)) ; Sub_All ([S,x],SQ) is Sub_universal by A3, Th14; hence P1[ Sub_All ([S,x],SQ)] by A1, A4, A5; ::_thesis: verum end; A6: now__::_thesis:_for_S1,_S2_being_Element_of_QC-Sub-WFF_F1()_st_S1_`2_=_S2_`2_&_P1[S1]_&_P1[S2]_holds_ P1[_Sub_&_(S1,S2)] let S1, S2 be Element of QC-Sub-WFF F1(); ::_thesis: ( S1 `2 = S2 `2 & P1[S1] & P1[S2] implies P1[ Sub_& (S1,S2)] ) assume that A7: S1 `2 = S2 `2 and A8: ( P1[S1] & P1[S2] ) ; ::_thesis: P1[ Sub_& (S1,S2)] A9: S2 = Sub_the_right_argument_of (Sub_& (S1,S2)) by A7, Th19; ( Sub_& (S1,S2) is Sub_conjunctive & S1 = Sub_the_left_argument_of (Sub_& (S1,S2)) ) by A7, Th13, Th18; hence P1[ Sub_& (S1,S2)] by A1, A8, A9; ::_thesis: verum end; A10: now__::_thesis:_for_S_being_Element_of_QC-Sub-WFF_F1()_st_P1[S]_holds_ P1[_Sub_not_S] let S be Element of QC-Sub-WFF F1(); ::_thesis: ( P1[S] implies P1[ Sub_not S] ) assume A11: P1[S] ; ::_thesis: P1[ Sub_not S] S = Sub_the_argument_of (Sub_not S) by Def30; hence P1[ Sub_not S] by A1, A11; ::_thesis: verum end; A12: for S being Element of QC-Sub-WFF F1() st S is F1() -Sub_VERUM holds P1[S] by A1; A13: for k being Element of NAT for P being QC-pred_symbol of k,F1() for ll being QC-variable_list of k,F1() for e being Element of vSUB F1() holds P1[ Sub_P (P,ll,e)] by A1; thus for S being Element of QC-Sub-WFF F1() holds P1[S] from SUBSTUT1:sch_1(A13, A12, A10, A6, A2); ::_thesis: verum end; theorem Th22: :: SUBSTUT1:22 for A being QC-alphabet for S being Element of QC-Sub-WFF A st S is Sub_negative holds len (@ ((Sub_the_argument_of S) `1)) < len (@ (S `1)) proof let A be QC-alphabet ; ::_thesis: for S being Element of QC-Sub-WFF A st S is Sub_negative holds len (@ ((Sub_the_argument_of S) `1)) < len (@ (S `1)) let S be Element of QC-Sub-WFF A; ::_thesis: ( S is Sub_negative implies len (@ ((Sub_the_argument_of S) `1)) < len (@ (S `1)) ) assume S is Sub_negative ; ::_thesis: len (@ ((Sub_the_argument_of S) `1)) < len (@ (S `1)) then consider S9 being Element of QC-Sub-WFF A such that A1: S = Sub_not S9 by Def26; A2: 'not' (S9 `1) is negative by QC_LANG1:def_19; S `1 = 'not' (S9 `1) by A1, MCART_1:7; then A3: len (@ (the_argument_of ('not' (S9 `1)))) < len (@ (S `1)) by A2, QC_LANG1:14; (Sub_the_argument_of S) `1 = S9 `1 by A1, Def30; hence len (@ ((Sub_the_argument_of S) `1)) < len (@ (S `1)) by A3, QC_LANG2:1; ::_thesis: verum end; theorem Th23: :: SUBSTUT1:23 for A being QC-alphabet for S being Element of QC-Sub-WFF A st S is Sub_conjunctive holds ( len (@ ((Sub_the_left_argument_of S) `1)) < len (@ (S `1)) & len (@ ((Sub_the_right_argument_of S) `1)) < len (@ (S `1)) ) proof let A be QC-alphabet ; ::_thesis: for S being Element of QC-Sub-WFF A st S is Sub_conjunctive holds ( len (@ ((Sub_the_left_argument_of S) `1)) < len (@ (S `1)) & len (@ ((Sub_the_right_argument_of S) `1)) < len (@ (S `1)) ) let S be Element of QC-Sub-WFF A; ::_thesis: ( S is Sub_conjunctive implies ( len (@ ((Sub_the_left_argument_of S) `1)) < len (@ (S `1)) & len (@ ((Sub_the_right_argument_of S) `1)) < len (@ (S `1)) ) ) assume S is Sub_conjunctive ; ::_thesis: ( len (@ ((Sub_the_left_argument_of S) `1)) < len (@ (S `1)) & len (@ ((Sub_the_right_argument_of S) `1)) < len (@ (S `1)) ) then consider S1, S2 being Element of QC-Sub-WFF A such that A1: ( S = Sub_& (S1,S2) & S1 `2 = S2 `2 ) by Def27; S = [((S1 `1) '&' (S2 `1)),(S1 `2)] by A1, Def21; then A2: S `1 = (S1 `1) '&' (S2 `1) by MCART_1:7; (S1 `1) '&' (S2 `1) is conjunctive by QC_LANG1:def_20; then A3: ( len (@ (the_left_argument_of ((S1 `1) '&' (S2 `1)))) < len (@ (S `1)) & len (@ (the_right_argument_of ((S1 `1) '&' (S2 `1)))) < len (@ (S `1)) ) by A2, QC_LANG1:15; ( (Sub_the_right_argument_of S) `1 = S2 `1 & (Sub_the_left_argument_of S) `1 = S1 `1 ) by A1, Th18, Th19; hence ( len (@ ((Sub_the_left_argument_of S) `1)) < len (@ (S `1)) & len (@ ((Sub_the_right_argument_of S) `1)) < len (@ (S `1)) ) by A3, QC_LANG2:4; ::_thesis: verum end; theorem Th24: :: SUBSTUT1:24 for A being QC-alphabet for S being Element of QC-Sub-WFF A st S is Sub_universal holds len (@ ((Sub_the_scope_of S) `1)) < len (@ (S `1)) proof let A be QC-alphabet ; ::_thesis: for S being Element of QC-Sub-WFF A st S is Sub_universal holds len (@ ((Sub_the_scope_of S) `1)) < len (@ (S `1)) let S be Element of QC-Sub-WFF A; ::_thesis: ( S is Sub_universal implies len (@ ((Sub_the_scope_of S) `1)) < len (@ (S `1)) ) assume S is Sub_universal ; ::_thesis: len (@ ((Sub_the_scope_of S) `1)) < len (@ (S `1)) then consider B being Element of [:(QC-Sub-WFF A),(bound_QC-variables A):], SQ being second_Q_comp of B such that A1: ( S = Sub_All (B,SQ) & B is quantifiable ) by Def28; S = [(All ((B `2),((B `1) `1))),SQ] by A1, Def24; then A2: S `1 = All ((B `2),((B `1) `1)) by MCART_1:7; All ((B `2),((B `1) `1)) is universal by QC_LANG1:def_21; then A3: len (@ (the_scope_of (All ((B `2),((B `1) `1))))) < len (@ (S `1)) by A2, QC_LANG1:16; (Sub_the_scope_of S) `1 = (B `1) `1 by A1, Th21; hence len (@ ((Sub_the_scope_of S) `1)) < len (@ (S `1)) by A3, QC_LANG2:7; ::_thesis: verum end; theorem Th25: :: SUBSTUT1:25 for A being QC-alphabet for S being Element of QC-Sub-WFF A holds ( ( S is A -Sub_VERUM implies ((@ (S `1)) . 1) `1 = 0 ) & ( S is Sub_atomic implies ex k being Element of NAT st (@ (S `1)) . 1 is QC-pred_symbol of k,A ) & ( S is Sub_negative implies ((@ (S `1)) . 1) `1 = 1 ) & ( S is Sub_conjunctive implies ((@ (S `1)) . 1) `1 = 2 ) & ( S is Sub_universal implies ((@ (S `1)) . 1) `1 = 3 ) ) proof let A be QC-alphabet ; ::_thesis: for S being Element of QC-Sub-WFF A holds ( ( S is A -Sub_VERUM implies ((@ (S `1)) . 1) `1 = 0 ) & ( S is Sub_atomic implies ex k being Element of NAT st (@ (S `1)) . 1 is QC-pred_symbol of k,A ) & ( S is Sub_negative implies ((@ (S `1)) . 1) `1 = 1 ) & ( S is Sub_conjunctive implies ((@ (S `1)) . 1) `1 = 2 ) & ( S is Sub_universal implies ((@ (S `1)) . 1) `1 = 3 ) ) let S be Element of QC-Sub-WFF A; ::_thesis: ( ( S is A -Sub_VERUM implies ((@ (S `1)) . 1) `1 = 0 ) & ( S is Sub_atomic implies ex k being Element of NAT st (@ (S `1)) . 1 is QC-pred_symbol of k,A ) & ( S is Sub_negative implies ((@ (S `1)) . 1) `1 = 1 ) & ( S is Sub_conjunctive implies ((@ (S `1)) . 1) `1 = 2 ) & ( S is Sub_universal implies ((@ (S `1)) . 1) `1 = 3 ) ) thus ( S is A -Sub_VERUM implies ((@ (S `1)) . 1) `1 = 0 ) ::_thesis: ( ( S is Sub_atomic implies ex k being Element of NAT st (@ (S `1)) . 1 is QC-pred_symbol of k,A ) & ( S is Sub_negative implies ((@ (S `1)) . 1) `1 = 1 ) & ( S is Sub_conjunctive implies ((@ (S `1)) . 1) `1 = 2 ) & ( S is Sub_universal implies ((@ (S `1)) . 1) `1 = 3 ) ) proof assume S is A -Sub_VERUM ; ::_thesis: ((@ (S `1)) . 1) `1 = 0 then ex e being Element of vSUB A st S = [(VERUM A),e] by Def19; then S `1 = VERUM A by MCART_1:7; hence ((@ (S `1)) . 1) `1 = [0,0] `1 by FINSEQ_1:def_8 .= 0 ; ::_thesis: verum end; thus ( S is Sub_atomic implies ex k being Element of NAT st (@ (S `1)) . 1 is QC-pred_symbol of k,A ) ::_thesis: ( ( S is Sub_negative implies ((@ (S `1)) . 1) `1 = 1 ) & ( S is Sub_conjunctive implies ((@ (S `1)) . 1) `1 = 2 ) & ( S is Sub_universal implies ((@ (S `1)) . 1) `1 = 3 ) ) proof assume S is Sub_atomic ; ::_thesis: ex k being Element of NAT st (@ (S `1)) . 1 is QC-pred_symbol of k,A then consider k being Element of NAT , P being QC-pred_symbol of k,A, ll being QC-variable_list of k,A, e being Element of vSUB A such that A1: S = Sub_P (P,ll,e) by Def25; S = [(P ! ll),e] by A1, Th9; then S `1 = P ! ll by MCART_1:7; then @ (S `1) = <*P*> ^ ll by QC_LANG1:8; then (@ (S `1)) . 1 = P by FINSEQ_1:41; hence ex k being Element of NAT st (@ (S `1)) . 1 is QC-pred_symbol of k,A ; ::_thesis: verum end; thus ( S is Sub_negative implies ((@ (S `1)) . 1) `1 = 1 ) ::_thesis: ( ( S is Sub_conjunctive implies ((@ (S `1)) . 1) `1 = 2 ) & ( S is Sub_universal implies ((@ (S `1)) . 1) `1 = 3 ) ) proof assume S is Sub_negative ; ::_thesis: ((@ (S `1)) . 1) `1 = 1 then consider S9 being Element of QC-Sub-WFF A such that A2: S = Sub_not S9 by Def26; S `1 = 'not' (S9 `1) by A2, MCART_1:7; then (@ (S `1)) . 1 = [1,0] by FINSEQ_1:41; hence ((@ (S `1)) . 1) `1 = 1 by MCART_1:7; ::_thesis: verum end; thus ( S is Sub_conjunctive implies ((@ (S `1)) . 1) `1 = 2 ) ::_thesis: ( S is Sub_universal implies ((@ (S `1)) . 1) `1 = 3 ) proof assume S is Sub_conjunctive ; ::_thesis: ((@ (S `1)) . 1) `1 = 2 then consider S1, S2 being Element of QC-Sub-WFF A such that A3: ( S = Sub_& (S1,S2) & S1 `2 = S2 `2 ) by Def27; S = [((S1 `1) '&' (S2 `1)),(S1 `2)] by A3, Def21; then S `1 = (S1 `1) '&' (S2 `1) by MCART_1:7; then @ (S `1) = <*[2,0]*> ^ ((@ (S1 `1)) ^ (@ (S2 `1))) by FINSEQ_1:32; then (@ (S `1)) . 1 = [2,0] by FINSEQ_1:41; hence ((@ (S `1)) . 1) `1 = 2 by MCART_1:7; ::_thesis: verum end; thus ( S is Sub_universal implies ((@ (S `1)) . 1) `1 = 3 ) ::_thesis: verum proof assume S is Sub_universal ; ::_thesis: ((@ (S `1)) . 1) `1 = 3 then consider B being Element of [:(QC-Sub-WFF A),(bound_QC-variables A):], SQ being second_Q_comp of B such that A4: ( S = Sub_All (B,SQ) & B is quantifiable ) by Def28; S = [(All ((B `2),((B `1) `1))),SQ] by A4, Def24; then S `1 = All ((B `2),((B `1) `1)) by MCART_1:7; then @ (S `1) = <*[3,0]*> ^ (<*(B `2)*> ^ (@ ((B `1) `1))) by FINSEQ_1:32; then (@ (S `1)) . 1 = [3,0] by FINSEQ_1:41; hence ((@ (S `1)) . 1) `1 = 3 by MCART_1:7; ::_thesis: verum end; end; theorem Th26: :: SUBSTUT1:26 for A being QC-alphabet for S being Element of QC-Sub-WFF A st S is Sub_atomic holds ( ((@ (S `1)) . 1) `1 <> 0 & ((@ (S `1)) . 1) `1 <> 1 & ((@ (S `1)) . 1) `1 <> 2 & ((@ (S `1)) . 1) `1 <> 3 ) proof let A be QC-alphabet ; ::_thesis: for S being Element of QC-Sub-WFF A st S is Sub_atomic holds ( ((@ (S `1)) . 1) `1 <> 0 & ((@ (S `1)) . 1) `1 <> 1 & ((@ (S `1)) . 1) `1 <> 2 & ((@ (S `1)) . 1) `1 <> 3 ) let S be Element of QC-Sub-WFF A; ::_thesis: ( S is Sub_atomic implies ( ((@ (S `1)) . 1) `1 <> 0 & ((@ (S `1)) . 1) `1 <> 1 & ((@ (S `1)) . 1) `1 <> 2 & ((@ (S `1)) . 1) `1 <> 3 ) ) assume S is Sub_atomic ; ::_thesis: ( ((@ (S `1)) . 1) `1 <> 0 & ((@ (S `1)) . 1) `1 <> 1 & ((@ (S `1)) . 1) `1 <> 2 & ((@ (S `1)) . 1) `1 <> 3 ) then ex k being Element of NAT st (@ (S `1)) . 1 is QC-pred_symbol of k,A by Th25; hence ( ((@ (S `1)) . 1) `1 <> 0 & ((@ (S `1)) . 1) `1 <> 1 & ((@ (S `1)) . 1) `1 <> 2 & ((@ (S `1)) . 1) `1 <> 3 ) by QC_LANG1:17; ::_thesis: verum end; theorem Th27: :: SUBSTUT1:27 for A being QC-alphabet for S being Element of QC-Sub-WFF A holds ( not ( S is Sub_atomic & S is Sub_negative ) & not ( S is Sub_atomic & S is Sub_conjunctive ) & not ( S is Sub_atomic & S is Sub_universal ) & not ( S is Sub_negative & S is Sub_conjunctive ) & not ( S is Sub_negative & S is Sub_universal ) & not ( S is Sub_conjunctive & S is Sub_universal ) & not ( S is A -Sub_VERUM & S is Sub_atomic ) & not ( S is A -Sub_VERUM & S is Sub_negative ) & not ( S is A -Sub_VERUM & S is Sub_conjunctive ) & not ( S is A -Sub_VERUM & S is Sub_universal ) ) proof let A be QC-alphabet ; ::_thesis: for S being Element of QC-Sub-WFF A holds ( not ( S is Sub_atomic & S is Sub_negative ) & not ( S is Sub_atomic & S is Sub_conjunctive ) & not ( S is Sub_atomic & S is Sub_universal ) & not ( S is Sub_negative & S is Sub_conjunctive ) & not ( S is Sub_negative & S is Sub_universal ) & not ( S is Sub_conjunctive & S is Sub_universal ) & not ( S is A -Sub_VERUM & S is Sub_atomic ) & not ( S is A -Sub_VERUM & S is Sub_negative ) & not ( S is A -Sub_VERUM & S is Sub_conjunctive ) & not ( S is A -Sub_VERUM & S is Sub_universal ) ) let S be Element of QC-Sub-WFF A; ::_thesis: ( not ( S is Sub_atomic & S is Sub_negative ) & not ( S is Sub_atomic & S is Sub_conjunctive ) & not ( S is Sub_atomic & S is Sub_universal ) & not ( S is Sub_negative & S is Sub_conjunctive ) & not ( S is Sub_negative & S is Sub_universal ) & not ( S is Sub_conjunctive & S is Sub_universal ) & not ( S is A -Sub_VERUM & S is Sub_atomic ) & not ( S is A -Sub_VERUM & S is Sub_negative ) & not ( S is A -Sub_VERUM & S is Sub_conjunctive ) & not ( S is A -Sub_VERUM & S is Sub_universal ) ) A1: ( S is Sub_negative implies ((@ (S `1)) . 1) `1 = 1 ) by Th25; A2: ( S is Sub_conjunctive implies ((@ (S `1)) . 1) `1 = 2 ) by Th25; A3: ( S is Sub_universal implies ((@ (S `1)) . 1) `1 = 3 ) by Th25; ( S is A -Sub_VERUM implies ((@ (S `1)) . 1) `1 = 0 ) by Th25; hence ( not ( S is Sub_atomic & S is Sub_negative ) & not ( S is Sub_atomic & S is Sub_conjunctive ) & not ( S is Sub_atomic & S is Sub_universal ) & not ( S is Sub_negative & S is Sub_conjunctive ) & not ( S is Sub_negative & S is Sub_universal ) & not ( S is Sub_conjunctive & S is Sub_universal ) & not ( S is A -Sub_VERUM & S is Sub_atomic ) & not ( S is A -Sub_VERUM & S is Sub_negative ) & not ( S is A -Sub_VERUM & S is Sub_conjunctive ) & not ( S is A -Sub_VERUM & S is Sub_universal ) ) by A1, A2, A3, Th26; ::_thesis: verum end; scheme :: SUBSTUT1:sch 3 SubFuncEx{ F1() -> QC-alphabet , F2() -> non empty set , F3() -> Element of F2(), F4( Element of QC-Sub-WFF F1()) -> Element of F2(), F5( Element of F2()) -> Element of F2(), F6( Element of F2(), Element of F2()) -> Element of F2(), F7( set , Element of QC-Sub-WFF F1(), Element of F2()) -> Element of F2() } : ex F being Function of (QC-Sub-WFF F1()),F2() st for S being Element of QC-Sub-WFF F1() for d1, d2 being Element of F2() holds ( ( S is F1() -Sub_VERUM implies F . S = F3() ) & ( S is Sub_atomic implies F . S = F4(S) ) & ( S is Sub_negative & d1 = F . (Sub_the_argument_of S) implies F . S = F5(d1) ) & ( S is Sub_conjunctive & d1 = F . (Sub_the_left_argument_of S) & d2 = F . (Sub_the_right_argument_of S) implies F . S = F6(d1,d2) ) & ( S is Sub_universal & d1 = F . (Sub_the_scope_of S) implies F . S = F7(F1(),S,d1) ) ) proof defpred S1[ Function of (QC-Sub-WFF F1()),F2(), Element of NAT ] means for S being Element of QC-Sub-WFF F1() st len (@ (S `1)) <= $2 holds ( ( S is F1() -Sub_VERUM implies $1 . S = F3() ) & ( S is Sub_atomic implies $1 . S = F4(S) ) & ( S is Sub_negative implies $1 . S = F5(($1 . (Sub_the_argument_of S))) ) & ( S is Sub_conjunctive implies $1 . S = F6(($1 . (Sub_the_left_argument_of S)),($1 . (Sub_the_right_argument_of S))) ) & ( S is Sub_universal implies $1 . S = F7(F1(),S,($1 . (Sub_the_scope_of S))) ) ); defpred S2[ Element of F2(), Function of (QC-Sub-WFF F1()),F2(), Element of QC-Sub-WFF F1()] means ( ( $3 is F1() -Sub_VERUM implies $1 = F3() ) & ( $3 is Sub_atomic implies $1 = F4($3) ) & ( $3 is Sub_negative implies $1 = F5(($2 . (Sub_the_argument_of $3))) ) & ( $3 is Sub_conjunctive implies $1 = F6(($2 . (Sub_the_left_argument_of $3)),($2 . (Sub_the_right_argument_of $3))) ) & ( $3 is Sub_universal implies $1 = F7(F1(),$3,($2 . (Sub_the_scope_of $3))) ) ); defpred S3[ Element of NAT ] means ex F being Function of (QC-Sub-WFF F1()),F2() st S1[F,$1]; defpred S4[ set , set ] means ex S being Element of QC-Sub-WFF F1() st ( S = $1 & ( for g being Function of (QC-Sub-WFF F1()),F2() st S1[g, len (@ (S `1))] holds $2 = g . S ) ); A1: for n being Element of NAT st S3[n] holds S3[n + 1] proof let n be Element of NAT ; ::_thesis: ( S3[n] implies S3[n + 1] ) given F being Function of (QC-Sub-WFF F1()),F2() such that A2: S1[F,n] ; ::_thesis: S3[n + 1] defpred S5[ Element of QC-Sub-WFF F1(), Element of F2()] means ( ( len (@ ($1 `1)) <> n + 1 implies $2 = F . $1 ) & ( len (@ ($1 `1)) = n + 1 implies S2[$2,F,$1] ) ); A3: for S being Element of QC-Sub-WFF F1() ex y being Element of F2() st S5[S,y] proof let S be Element of QC-Sub-WFF F1(); ::_thesis: ex y being Element of F2() st S5[S,y] now__::_thesis:_(_(_len_(@_(S_`1))_<>_n_+_1_&_ex_y_being_Element_of_F2()_st_y_=_F_._S_)_or_(_len_(@_(S_`1))_=_n_+_1_&_S_is_F1()_-Sub_VERUM_&_ex_y_being_Element_of_F2()_st_S2[y,F,S]_)_or_(_len_(@_(S_`1))_=_n_+_1_&_S_is_Sub_atomic_&_ex_y_being_Element_of_F2()_st_S2[y,F,S]_)_or_(_len_(@_(S_`1))_=_n_+_1_&_S_is_Sub_negative_&_ex_y_being_Element_of_F2()_st_S2[y,F,S]_)_or_(_len_(@_(S_`1))_=_n_+_1_&_S_is_Sub_conjunctive_&_ex_y_being_Element_of_F2()_st_S2[y,F,S]_)_or_(_len_(@_(S_`1))_=_n_+_1_&_S_is_Sub_universal_&_ex_y_being_Element_of_F2()_st_S2[y,F,S]_)_) percases ( len (@ (S `1)) <> n + 1 or ( len (@ (S `1)) = n + 1 & S is F1() -Sub_VERUM ) or ( len (@ (S `1)) = n + 1 & S is Sub_atomic ) or ( len (@ (S `1)) = n + 1 & S is Sub_negative ) or ( len (@ (S `1)) = n + 1 & S is Sub_conjunctive ) or ( len (@ (S `1)) = n + 1 & S is Sub_universal ) ) by Th12; case len (@ (S `1)) <> n + 1 ; ::_thesis: ex y being Element of F2() st y = F . S take y = F . S; ::_thesis: y = F . S thus y = F . S ; ::_thesis: verum end; caseA4: ( len (@ (S `1)) = n + 1 & S is F1() -Sub_VERUM ) ; ::_thesis: ex y being Element of F2() st S2[y,F,S] take y = F3(); ::_thesis: S2[y,F,S] thus S2[y,F,S] by A4, Th27; ::_thesis: verum end; caseA5: ( len (@ (S `1)) = n + 1 & S is Sub_atomic ) ; ::_thesis: ex y being Element of F2() st S2[y,F,S] take y = F4(S); ::_thesis: S2[y,F,S] thus S2[y,F,S] by A5, Th27; ::_thesis: verum end; caseA6: ( len (@ (S `1)) = n + 1 & S is Sub_negative ) ; ::_thesis: ex y being Element of F2() st S2[y,F,S] take y = F5((F . (Sub_the_argument_of S))); ::_thesis: S2[y,F,S] thus S2[y,F,S] by A6, Th27; ::_thesis: verum end; caseA7: ( len (@ (S `1)) = n + 1 & S is Sub_conjunctive ) ; ::_thesis: ex y being Element of F2() st S2[y,F,S] take y = F6((F . (Sub_the_left_argument_of S)),(F . (Sub_the_right_argument_of S))); ::_thesis: S2[y,F,S] thus S2[y,F,S] by A7, Th27; ::_thesis: verum end; caseA8: ( len (@ (S `1)) = n + 1 & S is Sub_universal ) ; ::_thesis: ex y being Element of F2() st S2[y,F,S] take y = F7(F1(),S,(F . (Sub_the_scope_of S))); ::_thesis: S2[y,F,S] thus S2[y,F,S] by A8, Th27; ::_thesis: verum end; end; end; hence ex y being Element of F2() st S5[S,y] ; ::_thesis: verum end; consider G being Function of (QC-Sub-WFF F1()),F2() such that A9: for S being Element of QC-Sub-WFF F1() holds S5[S,G . S] from FUNCT_2:sch_3(A3); take H = G; ::_thesis: S1[H,n + 1] thus S1[H,n + 1] ::_thesis: verum proof let S be Element of QC-Sub-WFF F1(); ::_thesis: ( len (@ (S `1)) <= n + 1 implies ( ( S is F1() -Sub_VERUM implies H . S = F3() ) & ( S is Sub_atomic implies H . S = F4(S) ) & ( S is Sub_negative implies H . S = F5((H . (Sub_the_argument_of S))) ) & ( S is Sub_conjunctive implies H . S = F6((H . (Sub_the_left_argument_of S)),(H . (Sub_the_right_argument_of S))) ) & ( S is Sub_universal implies H . S = F7(F1(),S,(H . (Sub_the_scope_of S))) ) ) ) assume A10: len (@ (S `1)) <= n + 1 ; ::_thesis: ( ( S is F1() -Sub_VERUM implies H . S = F3() ) & ( S is Sub_atomic implies H . S = F4(S) ) & ( S is Sub_negative implies H . S = F5((H . (Sub_the_argument_of S))) ) & ( S is Sub_conjunctive implies H . S = F6((H . (Sub_the_left_argument_of S)),(H . (Sub_the_right_argument_of S))) ) & ( S is Sub_universal implies H . S = F7(F1(),S,(H . (Sub_the_scope_of S))) ) ) thus ( S is F1() -Sub_VERUM implies H . S = F3() ) ::_thesis: ( ( S is Sub_atomic implies H . S = F4(S) ) & ( S is Sub_negative implies H . S = F5((H . (Sub_the_argument_of S))) ) & ( S is Sub_conjunctive implies H . S = F6((H . (Sub_the_left_argument_of S)),(H . (Sub_the_right_argument_of S))) ) & ( S is Sub_universal implies H . S = F7(F1(),S,(H . (Sub_the_scope_of S))) ) ) proof now__::_thesis:_(_S_is_F1()_-Sub_VERUM_implies_H_._S_=_F3()_) percases ( len (@ (S `1)) <> n + 1 or len (@ (S `1)) = n + 1 ) ; suppose len (@ (S `1)) <> n + 1 ; ::_thesis: ( S is F1() -Sub_VERUM implies H . S = F3() ) then ( len (@ (S `1)) <= n & H . S = F . S ) by A9, A10, NAT_1:8; hence ( S is F1() -Sub_VERUM implies H . S = F3() ) by A2; ::_thesis: verum end; suppose len (@ (S `1)) = n + 1 ; ::_thesis: ( S is F1() -Sub_VERUM implies H . S = F3() ) hence ( S is F1() -Sub_VERUM implies H . S = F3() ) by A9; ::_thesis: verum end; end; end; hence ( S is F1() -Sub_VERUM implies H . S = F3() ) ; ::_thesis: verum end; thus ( S is Sub_atomic implies H . S = F4(S) ) ::_thesis: ( ( S is Sub_negative implies H . S = F5((H . (Sub_the_argument_of S))) ) & ( S is Sub_conjunctive implies H . S = F6((H . (Sub_the_left_argument_of S)),(H . (Sub_the_right_argument_of S))) ) & ( S is Sub_universal implies H . S = F7(F1(),S,(H . (Sub_the_scope_of S))) ) ) proof now__::_thesis:_(_S_is_Sub_atomic_implies_H_._S_=_F4(S)_) percases ( len (@ (S `1)) <> n + 1 or len (@ (S `1)) = n + 1 ) ; suppose len (@ (S `1)) <> n + 1 ; ::_thesis: ( S is Sub_atomic implies H . S = F4(S) ) then ( len (@ (S `1)) <= n & H . S = F . S ) by A9, A10, NAT_1:8; hence ( S is Sub_atomic implies H . S = F4(S) ) by A2; ::_thesis: verum end; suppose len (@ (S `1)) = n + 1 ; ::_thesis: ( S is Sub_atomic implies H . S = F4(S) ) hence ( S is Sub_atomic implies H . S = F4(S) ) by A9; ::_thesis: verum end; end; end; hence ( S is Sub_atomic implies H . S = F4(S) ) ; ::_thesis: verum end; thus ( S is Sub_negative implies H . S = F5((H . (Sub_the_argument_of S))) ) ::_thesis: ( ( S is Sub_conjunctive implies H . S = F6((H . (Sub_the_left_argument_of S)),(H . (Sub_the_right_argument_of S))) ) & ( S is Sub_universal implies H . S = F7(F1(),S,(H . (Sub_the_scope_of S))) ) ) proof assume A11: S is Sub_negative ; ::_thesis: H . S = F5((H . (Sub_the_argument_of S))) then len (@ ((Sub_the_argument_of S) `1)) <> n + 1 by A10, Th22; then A12: H . (Sub_the_argument_of S) = F . (Sub_the_argument_of S) by A9; now__::_thesis:_H_._S_=_F5((H_._(Sub_the_argument_of_S))) percases ( len (@ (S `1)) <> n + 1 or len (@ (S `1)) = n + 1 ) ; suppose len (@ (S `1)) <> n + 1 ; ::_thesis: H . S = F5((H . (Sub_the_argument_of S))) then ( len (@ (S `1)) <= n & H . S = F . S ) by A9, A10, NAT_1:8; hence H . S = F5((H . (Sub_the_argument_of S))) by A2, A11, A12; ::_thesis: verum end; suppose len (@ (S `1)) = n + 1 ; ::_thesis: H . S = F5((H . (Sub_the_argument_of S))) hence H . S = F5((H . (Sub_the_argument_of S))) by A9, A11, A12; ::_thesis: verum end; end; end; hence H . S = F5((H . (Sub_the_argument_of S))) ; ::_thesis: verum end; thus ( S is Sub_conjunctive implies H . S = F6((H . (Sub_the_left_argument_of S)),(H . (Sub_the_right_argument_of S))) ) ::_thesis: ( S is Sub_universal implies H . S = F7(F1(),S,(H . (Sub_the_scope_of S))) ) proof assume A13: S is Sub_conjunctive ; ::_thesis: H . S = F6((H . (Sub_the_left_argument_of S)),(H . (Sub_the_right_argument_of S))) then len (@ ((Sub_the_right_argument_of S) `1)) <> n + 1 by A10, Th23; then A14: H . (Sub_the_right_argument_of S) = F . (Sub_the_right_argument_of S) by A9; len (@ ((Sub_the_left_argument_of S) `1)) <> n + 1 by A10, A13, Th23; then A15: H . (Sub_the_left_argument_of S) = F . (Sub_the_left_argument_of S) by A9; now__::_thesis:_H_._S_=_F6((H_._(Sub_the_left_argument_of_S)),(H_._(Sub_the_right_argument_of_S))) percases ( len (@ (S `1)) <> n + 1 or len (@ (S `1)) = n + 1 ) ; suppose len (@ (S `1)) <> n + 1 ; ::_thesis: H . S = F6((H . (Sub_the_left_argument_of S)),(H . (Sub_the_right_argument_of S))) then ( len (@ (S `1)) <= n & H . S = F . S ) by A9, A10, NAT_1:8; hence H . S = F6((H . (Sub_the_left_argument_of S)),(H . (Sub_the_right_argument_of S))) by A2, A13, A15, A14; ::_thesis: verum end; suppose len (@ (S `1)) = n + 1 ; ::_thesis: H . S = F6((H . (Sub_the_left_argument_of S)),(H . (Sub_the_right_argument_of S))) hence H . S = F6((H . (Sub_the_left_argument_of S)),(H . (Sub_the_right_argument_of S))) by A9, A13, A15, A14; ::_thesis: verum end; end; end; hence H . S = F6((H . (Sub_the_left_argument_of S)),(H . (Sub_the_right_argument_of S))) ; ::_thesis: verum end; thus ( S is Sub_universal implies H . S = F7(F1(),S,(H . (Sub_the_scope_of S))) ) ::_thesis: verum proof assume A16: S is Sub_universal ; ::_thesis: H . S = F7(F1(),S,(H . (Sub_the_scope_of S))) then len (@ ((Sub_the_scope_of S) `1)) <> n + 1 by A10, Th24; then A17: H . (Sub_the_scope_of S) = F . (Sub_the_scope_of S) by A9; now__::_thesis:_H_._S_=_F7(F1(),S,(H_._(Sub_the_scope_of_S))) percases ( len (@ (S `1)) <> n + 1 or len (@ (S `1)) = n + 1 ) ; suppose len (@ (S `1)) <> n + 1 ; ::_thesis: H . S = F7(F1(),S,(H . (Sub_the_scope_of S))) then ( len (@ (S `1)) <= n & H . S = F . S ) by A9, A10, NAT_1:8; hence H . S = F7(F1(),S,(H . (Sub_the_scope_of S))) by A2, A16, A17; ::_thesis: verum end; suppose len (@ (S `1)) = n + 1 ; ::_thesis: H . S = F7(F1(),S,(H . (Sub_the_scope_of S))) hence H . S = F7(F1(),S,(H . (Sub_the_scope_of S))) by A9, A16, A17; ::_thesis: verum end; end; end; hence H . S = F7(F1(),S,(H . (Sub_the_scope_of S))) ; ::_thesis: verum end; end; end; A18: S3[ 0 ] proof set F = the Function of (QC-Sub-WFF F1()),F2(); take the Function of (QC-Sub-WFF F1()),F2() ; ::_thesis: S1[ the Function of (QC-Sub-WFF F1()),F2(), 0 ] let S be Element of QC-Sub-WFF F1(); ::_thesis: ( len (@ (S `1)) <= 0 implies ( ( S is F1() -Sub_VERUM implies the Function of (QC-Sub-WFF F1()),F2() . S = F3() ) & ( S is Sub_atomic implies the Function of (QC-Sub-WFF F1()),F2() . S = F4(S) ) & ( S is Sub_negative implies the Function of (QC-Sub-WFF F1()),F2() . S = F5(( the Function of (QC-Sub-WFF F1()),F2() . (Sub_the_argument_of S))) ) & ( S is Sub_conjunctive implies the Function of (QC-Sub-WFF F1()),F2() . S = F6(( the Function of (QC-Sub-WFF F1()),F2() . (Sub_the_left_argument_of S)),( the Function of (QC-Sub-WFF F1()),F2() . (Sub_the_right_argument_of S))) ) & ( S is Sub_universal implies the Function of (QC-Sub-WFF F1()),F2() . S = F7(F1(),S,( the Function of (QC-Sub-WFF F1()),F2() . (Sub_the_scope_of S))) ) ) ) assume len (@ (S `1)) <= 0 ; ::_thesis: ( ( S is F1() -Sub_VERUM implies the Function of (QC-Sub-WFF F1()),F2() . S = F3() ) & ( S is Sub_atomic implies the Function of (QC-Sub-WFF F1()),F2() . S = F4(S) ) & ( S is Sub_negative implies the Function of (QC-Sub-WFF F1()),F2() . S = F5(( the Function of (QC-Sub-WFF F1()),F2() . (Sub_the_argument_of S))) ) & ( S is Sub_conjunctive implies the Function of (QC-Sub-WFF F1()),F2() . S = F6(( the Function of (QC-Sub-WFF F1()),F2() . (Sub_the_left_argument_of S)),( the Function of (QC-Sub-WFF F1()),F2() . (Sub_the_right_argument_of S))) ) & ( S is Sub_universal implies the Function of (QC-Sub-WFF F1()),F2() . S = F7(F1(),S,( the Function of (QC-Sub-WFF F1()),F2() . (Sub_the_scope_of S))) ) ) hence ( ( S is F1() -Sub_VERUM implies the Function of (QC-Sub-WFF F1()),F2() . S = F3() ) & ( S is Sub_atomic implies the Function of (QC-Sub-WFF F1()),F2() . S = F4(S) ) & ( S is Sub_negative implies the Function of (QC-Sub-WFF F1()),F2() . S = F5(( the Function of (QC-Sub-WFF F1()),F2() . (Sub_the_argument_of S))) ) & ( S is Sub_conjunctive implies the Function of (QC-Sub-WFF F1()),F2() . S = F6(( the Function of (QC-Sub-WFF F1()),F2() . (Sub_the_left_argument_of S)),( the Function of (QC-Sub-WFF F1()),F2() . (Sub_the_right_argument_of S))) ) & ( S is Sub_universal implies the Function of (QC-Sub-WFF F1()),F2() . S = F7(F1(),S,( the Function of (QC-Sub-WFF F1()),F2() . (Sub_the_scope_of S))) ) ) by QC_LANG1:10; ::_thesis: verum end; A19: for n being Element of NAT holds S3[n] from NAT_1:sch_1(A18, A1); A20: for x being set st x in QC-Sub-WFF F1() holds ex y being set st S4[x,y] proof let x be set ; ::_thesis: ( x in QC-Sub-WFF F1() implies ex y being set st S4[x,y] ) assume x in QC-Sub-WFF F1() ; ::_thesis: ex y being set st S4[x,y] then reconsider x9 = x as Element of QC-Sub-WFF F1() ; consider F being Function of (QC-Sub-WFF F1()),F2() such that A21: S1[F, len (@ (x9 `1))] by A19; take F . x ; ::_thesis: S4[x,F . x] take x9 ; ::_thesis: ( x9 = x & ( for g being Function of (QC-Sub-WFF F1()),F2() st S1[g, len (@ (x9 `1))] holds F . x = g . x9 ) ) thus x9 = x ; ::_thesis: for g being Function of (QC-Sub-WFF F1()),F2() st S1[g, len (@ (x9 `1))] holds F . x = g . x9 let G be Function of (QC-Sub-WFF F1()),F2(); ::_thesis: ( S1[G, len (@ (x9 `1))] implies F . x = G . x9 ) assume A22: S1[G, len (@ (x9 `1))] ; ::_thesis: F . x = G . x9 defpred S5[ Element of QC-Sub-WFF F1()] means ( len (@ ($1 `1)) <= len (@ (x9 `1)) implies F . $1 = G . $1 ); A23: now__::_thesis:_for_S_being_Element_of_QC-Sub-WFF_F1()_holds_ (_(_S_is_Sub_atomic_implies_S5[S]_)_&_(_S_is_F1()_-Sub_VERUM_implies_S5[S]_)_&_(_S_is_Sub_negative_&_S5[_Sub_the_argument_of_S]_implies_S5[S]_)_&_(_S_is_Sub_conjunctive_&_S5[_Sub_the_left_argument_of_S]_&_S5[_Sub_the_right_argument_of_S]_implies_S5[S]_)_&_(_S_is_Sub_universal_&_S5[_Sub_the_scope_of_S]_implies_S5[S]_)_) let S be Element of QC-Sub-WFF F1(); ::_thesis: ( ( S is Sub_atomic implies S5[S] ) & ( S is F1() -Sub_VERUM implies S5[S] ) & ( S is Sub_negative & S5[ Sub_the_argument_of S] implies S5[S] ) & ( S is Sub_conjunctive & S5[ Sub_the_left_argument_of S] & S5[ Sub_the_right_argument_of S] implies S5[S] ) & ( S is Sub_universal & S5[ Sub_the_scope_of S] implies S5[S] ) ) thus ( S is Sub_atomic implies S5[S] ) ::_thesis: ( ( S is F1() -Sub_VERUM implies S5[S] ) & ( S is Sub_negative & S5[ Sub_the_argument_of S] implies S5[S] ) & ( S is Sub_conjunctive & S5[ Sub_the_left_argument_of S] & S5[ Sub_the_right_argument_of S] implies S5[S] ) & ( S is Sub_universal & S5[ Sub_the_scope_of S] implies S5[S] ) ) proof assume A24: ( S is Sub_atomic & len (@ (S `1)) <= len (@ (x9 `1)) ) ; ::_thesis: F . S = G . S hence F . S = F4(S) by A21 .= G . S by A22, A24 ; ::_thesis: verum end; thus ( S is F1() -Sub_VERUM implies S5[S] ) ::_thesis: ( ( S is Sub_negative & S5[ Sub_the_argument_of S] implies S5[S] ) & ( S is Sub_conjunctive & S5[ Sub_the_left_argument_of S] & S5[ Sub_the_right_argument_of S] implies S5[S] ) & ( S is Sub_universal & S5[ Sub_the_scope_of S] implies S5[S] ) ) proof assume A25: ( S is F1() -Sub_VERUM & len (@ (S `1)) <= len (@ (x9 `1)) ) ; ::_thesis: F . S = G . S hence F . S = F3() by A21 .= G . S by A22, A25 ; ::_thesis: verum end; thus ( S is Sub_negative & S5[ Sub_the_argument_of S] implies S5[S] ) ::_thesis: ( ( S is Sub_conjunctive & S5[ Sub_the_left_argument_of S] & S5[ Sub_the_right_argument_of S] implies S5[S] ) & ( S is Sub_universal & S5[ Sub_the_scope_of S] implies S5[S] ) ) proof assume that A26: S is Sub_negative and A27: S5[ Sub_the_argument_of S] and A28: len (@ (S `1)) <= len (@ (x9 `1)) ; ::_thesis: F . S = G . S len (@ ((Sub_the_argument_of S) `1)) < len (@ (S `1)) by A26, Th22; hence F . S = F5((G . (Sub_the_argument_of S))) by A21, A26, A27, A28, XXREAL_0:2 .= G . S by A22, A26, A28 ; ::_thesis: verum end; thus ( S is Sub_conjunctive & S5[ Sub_the_left_argument_of S] & S5[ Sub_the_right_argument_of S] implies S5[S] ) ::_thesis: ( S is Sub_universal & S5[ Sub_the_scope_of S] implies S5[S] ) proof assume that A29: S is Sub_conjunctive and A30: ( S5[ Sub_the_left_argument_of S] & S5[ Sub_the_right_argument_of S] ) and A31: len (@ (S `1)) <= len (@ (x9 `1)) ; ::_thesis: F . S = G . S ( len (@ ((Sub_the_left_argument_of S) `1)) < len (@ (S `1)) & len (@ ((Sub_the_right_argument_of S) `1)) < len (@ (S `1)) ) by A29, Th23; hence F . S = F6((G . (Sub_the_left_argument_of S)),(G . (Sub_the_right_argument_of S))) by A21, A29, A30, A31, XXREAL_0:2 .= G . S by A22, A29, A31 ; ::_thesis: verum end; thus ( S is Sub_universal & S5[ Sub_the_scope_of S] implies S5[S] ) ::_thesis: verum proof assume that A32: S is Sub_universal and A33: S5[ Sub_the_scope_of S] and A34: len (@ (S `1)) <= len (@ (x9 `1)) ; ::_thesis: F . S = G . S len (@ ((Sub_the_scope_of S) `1)) < len (@ (S `1)) by A32, Th24; hence F . S = F7(F1(),S,(G . (Sub_the_scope_of S))) by A21, A32, A33, A34, XXREAL_0:2 .= G . S by A22, A32, A34 ; ::_thesis: verum end; end; for S being Element of QC-Sub-WFF F1() holds S5[S] from SUBSTUT1:sch_2(A23); hence F . x = G . x9 ; ::_thesis: verum end; consider F being Function such that A35: dom F = QC-Sub-WFF F1() and A36: for x being set st x in QC-Sub-WFF F1() holds S4[x,F . x] from CLASSES1:sch_1(A20); rng F c= F2() proof let y be set ; :: according to TARSKI:def_3 ::_thesis: ( not y in rng F or y in F2() ) assume y in rng F ; ::_thesis: y in F2() then consider x being set such that A37: ( x in QC-Sub-WFF F1() & y = F . x ) by A35, FUNCT_1:def_3; consider S being Element of QC-Sub-WFF F1() such that S = x and A38: for g being Function of (QC-Sub-WFF F1()),F2() st S1[g, len (@ (S `1))] holds y = g . S by A36, A37; consider G being Function of (QC-Sub-WFF F1()),F2() such that A39: S1[G, len (@ (S `1))] by A19; y = G . S by A38, A39; hence y in F2() ; ::_thesis: verum end; then reconsider F = F as Function of (QC-Sub-WFF F1()),F2() by A35, FUNCT_2:def_1, RELSET_1:4; take F ; ::_thesis: for S being Element of QC-Sub-WFF F1() for d1, d2 being Element of F2() holds ( ( S is F1() -Sub_VERUM implies F . S = F3() ) & ( S is Sub_atomic implies F . S = F4(S) ) & ( S is Sub_negative & d1 = F . (Sub_the_argument_of S) implies F . S = F5(d1) ) & ( S is Sub_conjunctive & d1 = F . (Sub_the_left_argument_of S) & d2 = F . (Sub_the_right_argument_of S) implies F . S = F6(d1,d2) ) & ( S is Sub_universal & d1 = F . (Sub_the_scope_of S) implies F . S = F7(F1(),S,d1) ) ) let S be Element of QC-Sub-WFF F1(); ::_thesis: for d1, d2 being Element of F2() holds ( ( S is F1() -Sub_VERUM implies F . S = F3() ) & ( S is Sub_atomic implies F . S = F4(S) ) & ( S is Sub_negative & d1 = F . (Sub_the_argument_of S) implies F . S = F5(d1) ) & ( S is Sub_conjunctive & d1 = F . (Sub_the_left_argument_of S) & d2 = F . (Sub_the_right_argument_of S) implies F . S = F6(d1,d2) ) & ( S is Sub_universal & d1 = F . (Sub_the_scope_of S) implies F . S = F7(F1(),S,d1) ) ) consider S1 being Element of QC-Sub-WFF F1() such that A40: S1 = S and A41: for g being Function of (QC-Sub-WFF F1()),F2() st S1[g, len (@ (S1 `1))] holds F . S = g . S1 by A36; let d1, d2 be Element of F2(); ::_thesis: ( ( S is F1() -Sub_VERUM implies F . S = F3() ) & ( S is Sub_atomic implies F . S = F4(S) ) & ( S is Sub_negative & d1 = F . (Sub_the_argument_of S) implies F . S = F5(d1) ) & ( S is Sub_conjunctive & d1 = F . (Sub_the_left_argument_of S) & d2 = F . (Sub_the_right_argument_of S) implies F . S = F6(d1,d2) ) & ( S is Sub_universal & d1 = F . (Sub_the_scope_of S) implies F . S = F7(F1(),S,d1) ) ) consider G being Function of (QC-Sub-WFF F1()),F2() such that A42: S1[G, len (@ (S1 `1))] by A19; set S9 = Sub_the_scope_of S; A43: ex S1 being Element of QC-Sub-WFF F1() st ( S1 = Sub_the_scope_of S & ( for g being Function of (QC-Sub-WFF F1()),F2() st S1[g, len (@ (S1 `1))] holds F . (Sub_the_scope_of S) = g . S1 ) ) by A36; A44: F . S = G . S by A40, A41, A42; hence ( S is F1() -Sub_VERUM implies F . S = F3() ) by A40, A42; ::_thesis: ( ( S is Sub_atomic implies F . S = F4(S) ) & ( S is Sub_negative & d1 = F . (Sub_the_argument_of S) implies F . S = F5(d1) ) & ( S is Sub_conjunctive & d1 = F . (Sub_the_left_argument_of S) & d2 = F . (Sub_the_right_argument_of S) implies F . S = F6(d1,d2) ) & ( S is Sub_universal & d1 = F . (Sub_the_scope_of S) implies F . S = F7(F1(),S,d1) ) ) thus ( S is Sub_atomic implies F . S = F4(S) ) by A40, A42, A44; ::_thesis: ( ( S is Sub_negative & d1 = F . (Sub_the_argument_of S) implies F . S = F5(d1) ) & ( S is Sub_conjunctive & d1 = F . (Sub_the_left_argument_of S) & d2 = F . (Sub_the_right_argument_of S) implies F . S = F6(d1,d2) ) & ( S is Sub_universal & d1 = F . (Sub_the_scope_of S) implies F . S = F7(F1(),S,d1) ) ) A45: for k being Element of NAT st k < len (@ (S `1)) holds S1[G,k] proof let k be Element of NAT ; ::_thesis: ( k < len (@ (S `1)) implies S1[G,k] ) assume A46: k < len (@ (S `1)) ; ::_thesis: S1[G,k] let S9 be Element of QC-Sub-WFF F1(); ::_thesis: ( len (@ (S9 `1)) <= k implies ( ( S9 is F1() -Sub_VERUM implies G . S9 = F3() ) & ( S9 is Sub_atomic implies G . S9 = F4(S9) ) & ( S9 is Sub_negative implies G . S9 = F5((G . (Sub_the_argument_of S9))) ) & ( S9 is Sub_conjunctive implies G . S9 = F6((G . (Sub_the_left_argument_of S9)),(G . (Sub_the_right_argument_of S9))) ) & ( S9 is Sub_universal implies G . S9 = F7(F1(),S9,(G . (Sub_the_scope_of S9))) ) ) ) assume len (@ (S9 `1)) <= k ; ::_thesis: ( ( S9 is F1() -Sub_VERUM implies G . S9 = F3() ) & ( S9 is Sub_atomic implies G . S9 = F4(S9) ) & ( S9 is Sub_negative implies G . S9 = F5((G . (Sub_the_argument_of S9))) ) & ( S9 is Sub_conjunctive implies G . S9 = F6((G . (Sub_the_left_argument_of S9)),(G . (Sub_the_right_argument_of S9))) ) & ( S9 is Sub_universal implies G . S9 = F7(F1(),S9,(G . (Sub_the_scope_of S9))) ) ) then len (@ (S9 `1)) <= len (@ (S `1)) by A46, XXREAL_0:2; hence ( ( S9 is F1() -Sub_VERUM implies G . S9 = F3() ) & ( S9 is Sub_atomic implies G . S9 = F4(S9) ) & ( S9 is Sub_negative implies G . S9 = F5((G . (Sub_the_argument_of S9))) ) & ( S9 is Sub_conjunctive implies G . S9 = F6((G . (Sub_the_left_argument_of S9)),(G . (Sub_the_right_argument_of S9))) ) & ( S9 is Sub_universal implies G . S9 = F7(F1(),S9,(G . (Sub_the_scope_of S9))) ) ) by A40, A42; ::_thesis: verum end; thus ( S is Sub_negative & d1 = F . (Sub_the_argument_of S) implies F . S = F5(d1) ) ::_thesis: ( ( S is Sub_conjunctive & d1 = F . (Sub_the_left_argument_of S) & d2 = F . (Sub_the_right_argument_of S) implies F . S = F6(d1,d2) ) & ( S is Sub_universal & d1 = F . (Sub_the_scope_of S) implies F . S = F7(F1(),S,d1) ) ) proof set S9 = Sub_the_argument_of S; set k = len (@ ((Sub_the_argument_of S) `1)); A47: ex S1 being Element of QC-Sub-WFF F1() st ( S1 = Sub_the_argument_of S & ( for g being Function of (QC-Sub-WFF F1()),F2() st S1[g, len (@ (S1 `1))] holds F . (Sub_the_argument_of S) = g . S1 ) ) by A36; assume A48: S is Sub_negative ; ::_thesis: ( not d1 = F . (Sub_the_argument_of S) or F . S = F5(d1) ) then len (@ ((Sub_the_argument_of S) `1)) < len (@ (S `1)) by Th22; then S1[G, len (@ ((Sub_the_argument_of S) `1))] by A45; then F . (Sub_the_argument_of S) = G . (Sub_the_argument_of S) by A47; hence ( not d1 = F . (Sub_the_argument_of S) or F . S = F5(d1) ) by A40, A42, A44, A48; ::_thesis: verum end; thus ( S is Sub_conjunctive & d1 = F . (Sub_the_left_argument_of S) & d2 = F . (Sub_the_right_argument_of S) implies F . S = F6(d1,d2) ) ::_thesis: ( S is Sub_universal & d1 = F . (Sub_the_scope_of S) implies F . S = F7(F1(),S,d1) ) proof set S99 = Sub_the_right_argument_of S; set S9 = Sub_the_left_argument_of S; set k9 = len (@ ((Sub_the_left_argument_of S) `1)); set k99 = len (@ ((Sub_the_right_argument_of S) `1)); A49: ex S2 being Element of QC-Sub-WFF F1() st ( S2 = Sub_the_right_argument_of S & ( for g being Function of (QC-Sub-WFF F1()),F2() st S1[g, len (@ (S2 `1))] holds F . (Sub_the_right_argument_of S) = g . S2 ) ) by A36; assume A50: S is Sub_conjunctive ; ::_thesis: ( not d1 = F . (Sub_the_left_argument_of S) or not d2 = F . (Sub_the_right_argument_of S) or F . S = F6(d1,d2) ) then len (@ ((Sub_the_left_argument_of S) `1)) < len (@ (S `1)) by Th23; then A51: S1[G, len (@ ((Sub_the_left_argument_of S) `1))] by A45; len (@ ((Sub_the_right_argument_of S) `1)) < len (@ (S `1)) by A50, Th23; then S1[G, len (@ ((Sub_the_right_argument_of S) `1))] by A45; then A52: F . (Sub_the_right_argument_of S) = G . (Sub_the_right_argument_of S) by A49; ex S1 being Element of QC-Sub-WFF F1() st ( S1 = Sub_the_left_argument_of S & ( for g being Function of (QC-Sub-WFF F1()),F2() st S1[g, len (@ (S1 `1))] holds F . (Sub_the_left_argument_of S) = g . S1 ) ) by A36; then F . (Sub_the_left_argument_of S) = G . (Sub_the_left_argument_of S) by A51; hence ( not d1 = F . (Sub_the_left_argument_of S) or not d2 = F . (Sub_the_right_argument_of S) or F . S = F6(d1,d2) ) by A40, A42, A44, A50, A52; ::_thesis: verum end; set k = len (@ ((Sub_the_scope_of S) `1)); assume A53: S is Sub_universal ; ::_thesis: ( not d1 = F . (Sub_the_scope_of S) or F . S = F7(F1(),S,d1) ) then len (@ ((Sub_the_scope_of S) `1)) < len (@ (S `1)) by Th24; then S1[G, len (@ ((Sub_the_scope_of S) `1))] by A45; then F . (Sub_the_scope_of S) = G . (Sub_the_scope_of S) by A43; hence ( not d1 = F . (Sub_the_scope_of S) or F . S = F7(F1(),S,d1) ) by A40, A42, A44, A53; ::_thesis: verum end; scheme :: SUBSTUT1:sch 4 SubQCFuncUniq{ F1() -> QC-alphabet , F2() -> non empty set , F3() -> Function of (QC-Sub-WFF F1()),F2(), F4() -> Function of (QC-Sub-WFF F1()),F2(), F5() -> Element of F2(), F6( set ) -> Element of F2(), F7( set ) -> Element of F2(), F8( set , set ) -> Element of F2(), F9( set , set , set ) -> Element of F2() } : F3() = F4() provided A1: for S being Element of QC-Sub-WFF F1() for d1, d2 being Element of F2() holds ( ( S is F1() -Sub_VERUM implies F3() . S = F5() ) & ( S is Sub_atomic implies F3() . S = F6(S) ) & ( S is Sub_negative & d1 = F3() . (Sub_the_argument_of S) implies F3() . S = F7(d1) ) & ( S is Sub_conjunctive & d1 = F3() . (Sub_the_left_argument_of S) & d2 = F3() . (Sub_the_right_argument_of S) implies F3() . S = F8(d1,d2) ) & ( S is Sub_universal & d1 = F3() . (Sub_the_scope_of S) implies F3() . S = F9(F1(),S,d1) ) ) and A2: for S being Element of QC-Sub-WFF F1() for d1, d2 being Element of F2() holds ( ( S is F1() -Sub_VERUM implies F4() . S = F5() ) & ( S is Sub_atomic implies F4() . S = F6(S) ) & ( S is Sub_negative & d1 = F4() . (Sub_the_argument_of S) implies F4() . S = F7(d1) ) & ( S is Sub_conjunctive & d1 = F4() . (Sub_the_left_argument_of S) & d2 = F4() . (Sub_the_right_argument_of S) implies F4() . S = F8(d1,d2) ) & ( S is Sub_universal & d1 = F4() . (Sub_the_scope_of S) implies F4() . S = F9(F1(),S,d1) ) ) proof defpred S1[ Element of QC-Sub-WFF F1()] means F3() . $1 = F4() . $1; A3: for k being Element of NAT for P being QC-pred_symbol of k,F1() for l being QC-variable_list of k,F1() for e being Element of vSUB F1() holds S1[ Sub_P (P,l,e)] proof let k be Element of NAT ; ::_thesis: for P being QC-pred_symbol of k,F1() for l being QC-variable_list of k,F1() for e being Element of vSUB F1() holds S1[ Sub_P (P,l,e)] let P be QC-pred_symbol of k,F1(); ::_thesis: for l being QC-variable_list of k,F1() for e being Element of vSUB F1() holds S1[ Sub_P (P,l,e)] let l be QC-variable_list of k,F1(); ::_thesis: for e being Element of vSUB F1() holds S1[ Sub_P (P,l,e)] let e be Element of vSUB F1(); ::_thesis: S1[ Sub_P (P,l,e)] thus F3() . (Sub_P (P,l,e)) = F6((Sub_P (P,l,e))) by A1 .= F4() . (Sub_P (P,l,e)) by A2 ; ::_thesis: verum end; A4: for x being bound_QC-variable of F1() for S being Element of QC-Sub-WFF F1() for SQ being second_Q_comp of [S,x] st [S,x] is quantifiable & S1[S] holds S1[ Sub_All ([S,x],SQ)] proof let x be bound_QC-variable of F1(); ::_thesis: for S being Element of QC-Sub-WFF F1() for SQ being second_Q_comp of [S,x] st [S,x] is quantifiable & S1[S] holds S1[ Sub_All ([S,x],SQ)] let S be Element of QC-Sub-WFF F1(); ::_thesis: for SQ being second_Q_comp of [S,x] st [S,x] is quantifiable & S1[S] holds S1[ Sub_All ([S,x],SQ)] let SQ be second_Q_comp of [S,x]; ::_thesis: ( [S,x] is quantifiable & S1[S] implies S1[ Sub_All ([S,x],SQ)] ) assume that A5: [S,x] is quantifiable and A6: F3() . S = F4() . S ; ::_thesis: S1[ Sub_All ([S,x],SQ)] A7: Sub_All ([S,x],SQ) is Sub_universal by A5, Th14; Sub_the_scope_of (Sub_All ([S,x],SQ)) = [S,x] `1 by A5, Th21; then Sub_the_scope_of (Sub_All ([S,x],SQ)) = S ; hence F3() . (Sub_All ([S,x],SQ)) = F9(F1(),(Sub_All ([S,x],SQ)),(F4() . (Sub_the_scope_of (Sub_All ([S,x],SQ))))) by A1, A6, A7 .= F4() . (Sub_All ([S,x],SQ)) by A2, A7 ; ::_thesis: verum end; A8: for S being Element of QC-Sub-WFF F1() st S is F1() -Sub_VERUM holds S1[S] proof let S be Element of QC-Sub-WFF F1(); ::_thesis: ( S is F1() -Sub_VERUM implies S1[S] ) assume A9: S is F1() -Sub_VERUM ; ::_thesis: S1[S] then F3() . S = F5() by A1; hence S1[S] by A2, A9; ::_thesis: verum end; A10: for S1, S2 being Element of QC-Sub-WFF F1() st S1 `2 = S2 `2 & S1[S1] & S1[S2] holds S1[ Sub_& (S1,S2)] proof let S1, S2 be Element of QC-Sub-WFF F1(); ::_thesis: ( S1 `2 = S2 `2 & S1[S1] & S1[S2] implies S1[ Sub_& (S1,S2)] ) assume that A11: S1 `2 = S2 `2 and A12: ( F3() . S1 = F4() . S1 & F3() . S2 = F4() . S2 ) ; ::_thesis: S1[ Sub_& (S1,S2)] A13: Sub_the_right_argument_of (Sub_& (S1,S2)) = S2 by A11, Th19; A14: ( Sub_& (S1,S2) is Sub_conjunctive & Sub_the_left_argument_of (Sub_& (S1,S2)) = S1 ) by A11, Th13, Th18; hence F3() . (Sub_& (S1,S2)) = F8((F4() . S1),(F4() . S2)) by A1, A12, A13 .= F4() . (Sub_& (S1,S2)) by A2, A14, A13 ; ::_thesis: verum end; A15: for S being Element of QC-Sub-WFF F1() st S1[S] holds S1[ Sub_not S] proof let S be Element of QC-Sub-WFF F1(); ::_thesis: ( S1[S] implies S1[ Sub_not S] ) assume A16: F3() . S = F4() . S ; ::_thesis: S1[ Sub_not S] A17: Sub_the_argument_of (Sub_not S) = S by Def30; hence F3() . (Sub_not S) = F7((F4() . S)) by A1, A16 .= F4() . (Sub_not S) by A2, A17 ; ::_thesis: verum end; for S being Element of QC-Sub-WFF F1() holds S1[S] from SUBSTUT1:sch_1(A3, A8, A15, A10, A4); hence F3() = F4() by FUNCT_2:63; ::_thesis: verum end; definition let A be QC-alphabet ; let S be Element of QC-Sub-WFF A; func @ S -> Element of [:(QC-WFF A),(vSUB A):] equals :: SUBSTUT1:def 35 S; coherence S is Element of [:(QC-WFF A),(vSUB A):] proof ex p being QC-formula of A ex e being Element of vSUB A st S = [p,e] by Th8; hence S is Element of [:(QC-WFF A),(vSUB A):] ; ::_thesis: verum end; end; :: deftheorem defines @ SUBSTUT1:def_35_:_ for A being QC-alphabet for S being Element of QC-Sub-WFF A holds @ S = S; definition let A be QC-alphabet ; let Z be Element of [:(QC-WFF A),(vSUB A):]; :: original: `1 redefine funcZ `1 -> Element of QC-WFF A; coherence Z `1 is Element of QC-WFF A proof ex a, b being set st ( a in QC-WFF A & b in vSUB A & [a,b] = Z ) by ZFMISC_1:def_2; hence Z `1 is Element of QC-WFF A by MCART_1:7; ::_thesis: verum end; :: original: `2 redefine funcZ `2 -> CQC_Substitution of A; coherence Z `2 is CQC_Substitution of A proof ex a, b being set st ( a in QC-WFF A & b in vSUB A & [a,b] = Z ) by ZFMISC_1:def_2; hence Z `2 is CQC_Substitution of A by MCART_1:7; ::_thesis: verum end; end; definition let A be QC-alphabet ; let Z be Element of [:(QC-WFF A),(vSUB A):]; func S_Bound Z -> bound_QC-variable of A equals :: SUBSTUT1:def 36 x. (upVar ((RestrictSub ((bound_in (Z `1)),(Z `1),(Z `2))),(the_scope_of (Z `1)))) if bound_in (Z `1) in rng (RestrictSub ((bound_in (Z `1)),(Z `1),(Z `2))) otherwise bound_in (Z `1); coherence ( ( bound_in (Z `1) in rng (RestrictSub ((bound_in (Z `1)),(Z `1),(Z `2))) implies x. (upVar ((RestrictSub ((bound_in (Z `1)),(Z `1),(Z `2))),(the_scope_of (Z `1)))) is bound_QC-variable of A ) & ( not bound_in (Z `1) in rng (RestrictSub ((bound_in (Z `1)),(Z `1),(Z `2))) implies bound_in (Z `1) is bound_QC-variable of A ) ) ; consistency for b1 being bound_QC-variable of A holds verum ; end; :: deftheorem defines S_Bound SUBSTUT1:def_36_:_ for A being QC-alphabet for Z being Element of [:(QC-WFF A),(vSUB A):] holds ( ( bound_in (Z `1) in rng (RestrictSub ((bound_in (Z `1)),(Z `1),(Z `2))) implies S_Bound Z = x. (upVar ((RestrictSub ((bound_in (Z `1)),(Z `1),(Z `2))),(the_scope_of (Z `1)))) ) & ( not bound_in (Z `1) in rng (RestrictSub ((bound_in (Z `1)),(Z `1),(Z `2))) implies S_Bound Z = bound_in (Z `1) ) ); definition let A be QC-alphabet ; let S be Element of QC-Sub-WFF A; let p be QC-formula of A; func Quant (S,p) -> Element of QC-WFF A equals :: SUBSTUT1:def 37 All ((S_Bound (@ S)),p); coherence All ((S_Bound (@ S)),p) is Element of QC-WFF A ; end; :: deftheorem defines Quant SUBSTUT1:def_37_:_ for A being QC-alphabet for S being Element of QC-Sub-WFF A for p being QC-formula of A holds Quant (S,p) = All ((S_Bound (@ S)),p); Lm6: for A being QC-alphabet for F1, F2 being Function of (QC-Sub-WFF A),(QC-WFF A) st ( for S being Element of QC-Sub-WFF A holds ( ( S is A -Sub_VERUM implies F1 . S = VERUM A ) & ( S is Sub_atomic implies F1 . S = (the_pred_symbol_of (S `1)) ! (CQC_Subst ((Sub_the_arguments_of S),(S `2))) ) & ( S is Sub_negative implies F1 . S = 'not' (F1 . (Sub_the_argument_of S)) ) & ( S is Sub_conjunctive implies F1 . S = (F1 . (Sub_the_left_argument_of S)) '&' (F1 . (Sub_the_right_argument_of S)) ) & ( S is Sub_universal implies F1 . S = Quant (S,(F1 . (Sub_the_scope_of S))) ) ) ) & ( for S being Element of QC-Sub-WFF A holds ( ( S is A -Sub_VERUM implies F2 . S = VERUM A ) & ( S is Sub_atomic implies F2 . S = (the_pred_symbol_of (S `1)) ! (CQC_Subst ((Sub_the_arguments_of S),(S `2))) ) & ( S is Sub_negative implies F2 . S = 'not' (F2 . (Sub_the_argument_of S)) ) & ( S is Sub_conjunctive implies F2 . S = (F2 . (Sub_the_left_argument_of S)) '&' (F2 . (Sub_the_right_argument_of S)) ) & ( S is Sub_universal implies F2 . S = Quant (S,(F2 . (Sub_the_scope_of S))) ) ) ) holds F1 = F2 proof let A be QC-alphabet ; ::_thesis: for F1, F2 being Function of (QC-Sub-WFF A),(QC-WFF A) st ( for S being Element of QC-Sub-WFF A holds ( ( S is A -Sub_VERUM implies F1 . S = VERUM A ) & ( S is Sub_atomic implies F1 . S = (the_pred_symbol_of (S `1)) ! (CQC_Subst ((Sub_the_arguments_of S),(S `2))) ) & ( S is Sub_negative implies F1 . S = 'not' (F1 . (Sub_the_argument_of S)) ) & ( S is Sub_conjunctive implies F1 . S = (F1 . (Sub_the_left_argument_of S)) '&' (F1 . (Sub_the_right_argument_of S)) ) & ( S is Sub_universal implies F1 . S = Quant (S,(F1 . (Sub_the_scope_of S))) ) ) ) & ( for S being Element of QC-Sub-WFF A holds ( ( S is A -Sub_VERUM implies F2 . S = VERUM A ) & ( S is Sub_atomic implies F2 . S = (the_pred_symbol_of (S `1)) ! (CQC_Subst ((Sub_the_arguments_of S),(S `2))) ) & ( S is Sub_negative implies F2 . S = 'not' (F2 . (Sub_the_argument_of S)) ) & ( S is Sub_conjunctive implies F2 . S = (F2 . (Sub_the_left_argument_of S)) '&' (F2 . (Sub_the_right_argument_of S)) ) & ( S is Sub_universal implies F2 . S = Quant (S,(F2 . (Sub_the_scope_of S))) ) ) ) holds F1 = F2 let F1, F2 be Function of (QC-Sub-WFF A),(QC-WFF A); ::_thesis: ( ( for S being Element of QC-Sub-WFF A holds ( ( S is A -Sub_VERUM implies F1 . S = VERUM A ) & ( S is Sub_atomic implies F1 . S = (the_pred_symbol_of (S `1)) ! (CQC_Subst ((Sub_the_arguments_of S),(S `2))) ) & ( S is Sub_negative implies F1 . S = 'not' (F1 . (Sub_the_argument_of S)) ) & ( S is Sub_conjunctive implies F1 . S = (F1 . (Sub_the_left_argument_of S)) '&' (F1 . (Sub_the_right_argument_of S)) ) & ( S is Sub_universal implies F1 . S = Quant (S,(F1 . (Sub_the_scope_of S))) ) ) ) & ( for S being Element of QC-Sub-WFF A holds ( ( S is A -Sub_VERUM implies F2 . S = VERUM A ) & ( S is Sub_atomic implies F2 . S = (the_pred_symbol_of (S `1)) ! (CQC_Subst ((Sub_the_arguments_of S),(S `2))) ) & ( S is Sub_negative implies F2 . S = 'not' (F2 . (Sub_the_argument_of S)) ) & ( S is Sub_conjunctive implies F2 . S = (F2 . (Sub_the_left_argument_of S)) '&' (F2 . (Sub_the_right_argument_of S)) ) & ( S is Sub_universal implies F2 . S = Quant (S,(F2 . (Sub_the_scope_of S))) ) ) ) implies F1 = F2 ) deffunc H1( Element of QC-WFF A, Element of QC-WFF A) -> Element of QC-WFF A = $1 '&' $2; deffunc H2( Element of QC-WFF A) -> Element of QC-WFF A = 'not' $1; deffunc H3( Element of QC-Sub-WFF A) -> Element of QC-WFF A = (the_pred_symbol_of ($1 `1)) ! (CQC_Subst ((Sub_the_arguments_of $1),($1 `2))); assume for S being Element of QC-Sub-WFF A holds ( ( S is A -Sub_VERUM implies F1 . S = VERUM A ) & ( S is Sub_atomic implies F1 . S = H3(S) ) & ( S is Sub_negative implies F1 . S = H2(F1 . (Sub_the_argument_of S)) ) & ( S is Sub_conjunctive implies F1 . S = H1(F1 . (Sub_the_left_argument_of S),F1 . (Sub_the_right_argument_of S)) ) & ( S is Sub_universal implies F1 . S = Quant (S,(F1 . (Sub_the_scope_of S))) ) ) ; ::_thesis: ( ex S being Element of QC-Sub-WFF A st ( ( S is A -Sub_VERUM implies F2 . S = VERUM A ) & ( S is Sub_atomic implies F2 . S = (the_pred_symbol_of (S `1)) ! (CQC_Subst ((Sub_the_arguments_of S),(S `2))) ) & ( S is Sub_negative implies F2 . S = 'not' (F2 . (Sub_the_argument_of S)) ) & ( S is Sub_conjunctive implies F2 . S = (F2 . (Sub_the_left_argument_of S)) '&' (F2 . (Sub_the_right_argument_of S)) ) implies ( S is Sub_universal & not F2 . S = Quant (S,(F2 . (Sub_the_scope_of S))) ) ) or F1 = F2 ) then A1: for S being Element of QC-Sub-WFF A for d1, d2 being Element of QC-WFF A holds ( ( S is A -Sub_VERUM implies F1 . S = VERUM A ) & ( S is Sub_atomic implies F1 . S = H3(S) ) & ( S is Sub_negative & d1 = F1 . (Sub_the_argument_of S) implies F1 . S = H2(d1) ) & ( S is Sub_conjunctive & d1 = F1 . (Sub_the_left_argument_of S) & d2 = F1 . (Sub_the_right_argument_of S) implies F1 . S = H1(d1,d2) ) & ( S is Sub_universal & d1 = F1 . (Sub_the_scope_of S) implies F1 . S = Quant (S,d1) ) ) ; assume for S being Element of QC-Sub-WFF A holds ( ( S is A -Sub_VERUM implies F2 . S = VERUM A ) & ( S is Sub_atomic implies F2 . S = H3(S) ) & ( S is Sub_negative implies F2 . S = H2(F2 . (Sub_the_argument_of S)) ) & ( S is Sub_conjunctive implies F2 . S = H1(F2 . (Sub_the_left_argument_of S),F2 . (Sub_the_right_argument_of S)) ) & ( S is Sub_universal implies F2 . S = Quant (S,(F2 . (Sub_the_scope_of S))) ) ) ; ::_thesis: F1 = F2 then A2: for S being Element of QC-Sub-WFF A for d1, d2 being Element of QC-WFF A holds ( ( S is A -Sub_VERUM implies F2 . S = VERUM A ) & ( S is Sub_atomic implies F2 . S = H3(S) ) & ( S is Sub_negative & d1 = F2 . (Sub_the_argument_of S) implies F2 . S = H2(d1) ) & ( S is Sub_conjunctive & d1 = F2 . (Sub_the_left_argument_of S) & d2 = F2 . (Sub_the_right_argument_of S) implies F2 . S = H1(d1,d2) ) & ( S is Sub_universal & d1 = F2 . (Sub_the_scope_of S) implies F2 . S = Quant (S,d1) ) ) ; thus F1 = F2 from SUBSTUT1:sch_4(A1, A2); ::_thesis: verum end; begin definition let A be QC-alphabet ; let S be Element of QC-Sub-WFF A; func CQC_Sub S -> Element of QC-WFF A means :Def38: :: SUBSTUT1:def 38 ex F being Function of (QC-Sub-WFF A),(QC-WFF A) st ( it = F . S & ( for S9 being Element of QC-Sub-WFF A holds ( ( S9 is A -Sub_VERUM implies F . S9 = VERUM A ) & ( S9 is Sub_atomic implies F . S9 = (the_pred_symbol_of (S9 `1)) ! (CQC_Subst ((Sub_the_arguments_of S9),(S9 `2))) ) & ( S9 is Sub_negative implies F . S9 = 'not' (F . (Sub_the_argument_of S9)) ) & ( S9 is Sub_conjunctive implies F . S9 = (F . (Sub_the_left_argument_of S9)) '&' (F . (Sub_the_right_argument_of S9)) ) & ( S9 is Sub_universal implies F . S9 = Quant (S9,(F . (Sub_the_scope_of S9))) ) ) ) ); existence ex b1 being Element of QC-WFF A ex F being Function of (QC-Sub-WFF A),(QC-WFF A) st ( b1 = F . S & ( for S9 being Element of QC-Sub-WFF A holds ( ( S9 is A -Sub_VERUM implies F . S9 = VERUM A ) & ( S9 is Sub_atomic implies F . S9 = (the_pred_symbol_of (S9 `1)) ! (CQC_Subst ((Sub_the_arguments_of S9),(S9 `2))) ) & ( S9 is Sub_negative implies F . S9 = 'not' (F . (Sub_the_argument_of S9)) ) & ( S9 is Sub_conjunctive implies F . S9 = (F . (Sub_the_left_argument_of S9)) '&' (F . (Sub_the_right_argument_of S9)) ) & ( S9 is Sub_universal implies F . S9 = Quant (S9,(F . (Sub_the_scope_of S9))) ) ) ) ) proof deffunc H1( Element of QC-WFF A, Element of QC-WFF A) -> Element of QC-WFF A = $1 '&' $2; deffunc H2( Element of QC-WFF A) -> Element of QC-WFF A = 'not' $1; deffunc H3( Element of QC-Sub-WFF A) -> Element of QC-WFF A = (the_pred_symbol_of ($1 `1)) ! (CQC_Subst ((Sub_the_arguments_of $1),($1 `2))); consider F being Function of (QC-Sub-WFF A),(QC-WFF A) such that A1: for S being Element of QC-Sub-WFF A for d1, d2 being Element of QC-WFF A holds ( ( S is A -Sub_VERUM implies F . S = VERUM A ) & ( S is Sub_atomic implies F . S = H3(S) ) & ( S is Sub_negative & d1 = F . (Sub_the_argument_of S) implies F . S = H2(d1) ) & ( S is Sub_conjunctive & d1 = F . (Sub_the_left_argument_of S) & d2 = F . (Sub_the_right_argument_of S) implies F . S = H1(d1,d2) ) & ( S is Sub_universal & d1 = F . (Sub_the_scope_of S) implies F . S = Quant (S,d1) ) ) from SUBSTUT1:sch_3(); take F . S ; ::_thesis: ex F being Function of (QC-Sub-WFF A),(QC-WFF A) st ( F . S = F . S & ( for S9 being Element of QC-Sub-WFF A holds ( ( S9 is A -Sub_VERUM implies F . S9 = VERUM A ) & ( S9 is Sub_atomic implies F . S9 = (the_pred_symbol_of (S9 `1)) ! (CQC_Subst ((Sub_the_arguments_of S9),(S9 `2))) ) & ( S9 is Sub_negative implies F . S9 = 'not' (F . (Sub_the_argument_of S9)) ) & ( S9 is Sub_conjunctive implies F . S9 = (F . (Sub_the_left_argument_of S9)) '&' (F . (Sub_the_right_argument_of S9)) ) & ( S9 is Sub_universal implies F . S9 = Quant (S9,(F . (Sub_the_scope_of S9))) ) ) ) ) take F ; ::_thesis: ( F . S = F . S & ( for S9 being Element of QC-Sub-WFF A holds ( ( S9 is A -Sub_VERUM implies F . S9 = VERUM A ) & ( S9 is Sub_atomic implies F . S9 = (the_pred_symbol_of (S9 `1)) ! (CQC_Subst ((Sub_the_arguments_of S9),(S9 `2))) ) & ( S9 is Sub_negative implies F . S9 = 'not' (F . (Sub_the_argument_of S9)) ) & ( S9 is Sub_conjunctive implies F . S9 = (F . (Sub_the_left_argument_of S9)) '&' (F . (Sub_the_right_argument_of S9)) ) & ( S9 is Sub_universal implies F . S9 = Quant (S9,(F . (Sub_the_scope_of S9))) ) ) ) ) thus F . S = F . S ; ::_thesis: for S9 being Element of QC-Sub-WFF A holds ( ( S9 is A -Sub_VERUM implies F . S9 = VERUM A ) & ( S9 is Sub_atomic implies F . S9 = (the_pred_symbol_of (S9 `1)) ! (CQC_Subst ((Sub_the_arguments_of S9),(S9 `2))) ) & ( S9 is Sub_negative implies F . S9 = 'not' (F . (Sub_the_argument_of S9)) ) & ( S9 is Sub_conjunctive implies F . S9 = (F . (Sub_the_left_argument_of S9)) '&' (F . (Sub_the_right_argument_of S9)) ) & ( S9 is Sub_universal implies F . S9 = Quant (S9,(F . (Sub_the_scope_of S9))) ) ) thus for S9 being Element of QC-Sub-WFF A holds ( ( S9 is A -Sub_VERUM implies F . S9 = VERUM A ) & ( S9 is Sub_atomic implies F . S9 = (the_pred_symbol_of (S9 `1)) ! (CQC_Subst ((Sub_the_arguments_of S9),(S9 `2))) ) & ( S9 is Sub_negative implies F . S9 = 'not' (F . (Sub_the_argument_of S9)) ) & ( S9 is Sub_conjunctive implies F . S9 = (F . (Sub_the_left_argument_of S9)) '&' (F . (Sub_the_right_argument_of S9)) ) & ( S9 is Sub_universal implies F . S9 = Quant (S9,(F . (Sub_the_scope_of S9))) ) ) by A1; ::_thesis: verum end; uniqueness for b1, b2 being Element of QC-WFF A st ex F being Function of (QC-Sub-WFF A),(QC-WFF A) st ( b1 = F . S & ( for S9 being Element of QC-Sub-WFF A holds ( ( S9 is A -Sub_VERUM implies F . S9 = VERUM A ) & ( S9 is Sub_atomic implies F . S9 = (the_pred_symbol_of (S9 `1)) ! (CQC_Subst ((Sub_the_arguments_of S9),(S9 `2))) ) & ( S9 is Sub_negative implies F . S9 = 'not' (F . (Sub_the_argument_of S9)) ) & ( S9 is Sub_conjunctive implies F . S9 = (F . (Sub_the_left_argument_of S9)) '&' (F . (Sub_the_right_argument_of S9)) ) & ( S9 is Sub_universal implies F . S9 = Quant (S9,(F . (Sub_the_scope_of S9))) ) ) ) ) & ex F being Function of (QC-Sub-WFF A),(QC-WFF A) st ( b2 = F . S & ( for S9 being Element of QC-Sub-WFF A holds ( ( S9 is A -Sub_VERUM implies F . S9 = VERUM A ) & ( S9 is Sub_atomic implies F . S9 = (the_pred_symbol_of (S9 `1)) ! (CQC_Subst ((Sub_the_arguments_of S9),(S9 `2))) ) & ( S9 is Sub_negative implies F . S9 = 'not' (F . (Sub_the_argument_of S9)) ) & ( S9 is Sub_conjunctive implies F . S9 = (F . (Sub_the_left_argument_of S9)) '&' (F . (Sub_the_right_argument_of S9)) ) & ( S9 is Sub_universal implies F . S9 = Quant (S9,(F . (Sub_the_scope_of S9))) ) ) ) ) holds b1 = b2 by Lm6; end; :: deftheorem Def38 defines CQC_Sub SUBSTUT1:def_38_:_ for A being QC-alphabet for S being Element of QC-Sub-WFF A for b3 being Element of QC-WFF A holds ( b3 = CQC_Sub S iff ex F being Function of (QC-Sub-WFF A),(QC-WFF A) st ( b3 = F . S & ( for S9 being Element of QC-Sub-WFF A holds ( ( S9 is A -Sub_VERUM implies F . S9 = VERUM A ) & ( S9 is Sub_atomic implies F . S9 = (the_pred_symbol_of (S9 `1)) ! (CQC_Subst ((Sub_the_arguments_of S9),(S9 `2))) ) & ( S9 is Sub_negative implies F . S9 = 'not' (F . (Sub_the_argument_of S9)) ) & ( S9 is Sub_conjunctive implies F . S9 = (F . (Sub_the_left_argument_of S9)) '&' (F . (Sub_the_right_argument_of S9)) ) & ( S9 is Sub_universal implies F . S9 = Quant (S9,(F . (Sub_the_scope_of S9))) ) ) ) ) ); theorem Th28: :: SUBSTUT1:28 for A being QC-alphabet for S being Element of QC-Sub-WFF A st S is Sub_negative holds CQC_Sub S = 'not' (CQC_Sub (Sub_the_argument_of S)) proof let A be QC-alphabet ; ::_thesis: for S being Element of QC-Sub-WFF A st S is Sub_negative holds CQC_Sub S = 'not' (CQC_Sub (Sub_the_argument_of S)) let S be Element of QC-Sub-WFF A; ::_thesis: ( S is Sub_negative implies CQC_Sub S = 'not' (CQC_Sub (Sub_the_argument_of S)) ) consider F being Function of (QC-Sub-WFF A),(QC-WFF A) such that A1: CQC_Sub S = F . S and A2: for S9 being Element of QC-Sub-WFF A holds ( ( S9 is A -Sub_VERUM implies F . S9 = VERUM A ) & ( S9 is Sub_atomic implies F . S9 = (the_pred_symbol_of (S9 `1)) ! (CQC_Subst ((Sub_the_arguments_of S9),(S9 `2))) ) & ( S9 is Sub_negative implies F . S9 = 'not' (F . (Sub_the_argument_of S9)) ) & ( S9 is Sub_conjunctive implies F . S9 = (F . (Sub_the_left_argument_of S9)) '&' (F . (Sub_the_right_argument_of S9)) ) & ( S9 is Sub_universal implies F . S9 = Quant (S9,(F . (Sub_the_scope_of S9))) ) ) by Def38; consider G being Function of (QC-Sub-WFF A),(QC-WFF A) such that A3: CQC_Sub (Sub_the_argument_of S) = G . (Sub_the_argument_of S) and A4: for S9 being Element of QC-Sub-WFF A holds ( ( S9 is A -Sub_VERUM implies G . S9 = VERUM A ) & ( S9 is Sub_atomic implies G . S9 = (the_pred_symbol_of (S9 `1)) ! (CQC_Subst ((Sub_the_arguments_of S9),(S9 `2))) ) & ( S9 is Sub_negative implies G . S9 = 'not' (G . (Sub_the_argument_of S9)) ) & ( S9 is Sub_conjunctive implies G . S9 = (G . (Sub_the_left_argument_of S9)) '&' (G . (Sub_the_right_argument_of S9)) ) & ( S9 is Sub_universal implies G . S9 = Quant (S9,(G . (Sub_the_scope_of S9))) ) ) by Def38; F = G by A2, A4, Lm6; hence ( S is Sub_negative implies CQC_Sub S = 'not' (CQC_Sub (Sub_the_argument_of S)) ) by A1, A2, A3; ::_thesis: verum end; theorem Th29: :: SUBSTUT1:29 for A being QC-alphabet for S being Element of QC-Sub-WFF A holds CQC_Sub (Sub_not S) = 'not' (CQC_Sub S) proof let A be QC-alphabet ; ::_thesis: for S being Element of QC-Sub-WFF A holds CQC_Sub (Sub_not S) = 'not' (CQC_Sub S) let S be Element of QC-Sub-WFF A; ::_thesis: CQC_Sub (Sub_not S) = 'not' (CQC_Sub S) set 9S = Sub_not S; Sub_the_argument_of (Sub_not S) = S by Def30; hence CQC_Sub (Sub_not S) = 'not' (CQC_Sub S) by Th28; ::_thesis: verum end; theorem Th30: :: SUBSTUT1:30 for A being QC-alphabet for S being Element of QC-Sub-WFF A st S is Sub_conjunctive holds CQC_Sub S = (CQC_Sub (Sub_the_left_argument_of S)) '&' (CQC_Sub (Sub_the_right_argument_of S)) proof let A be QC-alphabet ; ::_thesis: for S being Element of QC-Sub-WFF A st S is Sub_conjunctive holds CQC_Sub S = (CQC_Sub (Sub_the_left_argument_of S)) '&' (CQC_Sub (Sub_the_right_argument_of S)) let S be Element of QC-Sub-WFF A; ::_thesis: ( S is Sub_conjunctive implies CQC_Sub S = (CQC_Sub (Sub_the_left_argument_of S)) '&' (CQC_Sub (Sub_the_right_argument_of S)) ) consider F being Function of (QC-Sub-WFF A),(QC-WFF A) such that A1: CQC_Sub S = F . S and A2: for S9 being Element of QC-Sub-WFF A holds ( ( S9 is A -Sub_VERUM implies F . S9 = VERUM A ) & ( S9 is Sub_atomic implies F . S9 = (the_pred_symbol_of (S9 `1)) ! (CQC_Subst ((Sub_the_arguments_of S9),(S9 `2))) ) & ( S9 is Sub_negative implies F . S9 = 'not' (F . (Sub_the_argument_of S9)) ) & ( S9 is Sub_conjunctive implies F . S9 = (F . (Sub_the_left_argument_of S9)) '&' (F . (Sub_the_right_argument_of S9)) ) & ( S9 is Sub_universal implies F . S9 = Quant (S9,(F . (Sub_the_scope_of S9))) ) ) by Def38; consider F2 being Function of (QC-Sub-WFF A),(QC-WFF A) such that A3: CQC_Sub (Sub_the_right_argument_of S) = F2 . (Sub_the_right_argument_of S) and A4: for S9 being Element of QC-Sub-WFF A holds ( ( S9 is A -Sub_VERUM implies F2 . S9 = VERUM A ) & ( S9 is Sub_atomic implies F2 . S9 = (the_pred_symbol_of (S9 `1)) ! (CQC_Subst ((Sub_the_arguments_of S9),(S9 `2))) ) & ( S9 is Sub_negative implies F2 . S9 = 'not' (F2 . (Sub_the_argument_of S9)) ) & ( S9 is Sub_conjunctive implies F2 . S9 = (F2 . (Sub_the_left_argument_of S9)) '&' (F2 . (Sub_the_right_argument_of S9)) ) & ( S9 is Sub_universal implies F2 . S9 = Quant (S9,(F2 . (Sub_the_scope_of S9))) ) ) by Def38; A5: F2 = F by A2, A4, Lm6; consider F1 being Function of (QC-Sub-WFF A),(QC-WFF A) such that A6: CQC_Sub (Sub_the_left_argument_of S) = F1 . (Sub_the_left_argument_of S) and A7: for S9 being Element of QC-Sub-WFF A holds ( ( S9 is A -Sub_VERUM implies F1 . S9 = VERUM A ) & ( S9 is Sub_atomic implies F1 . S9 = (the_pred_symbol_of (S9 `1)) ! (CQC_Subst ((Sub_the_arguments_of S9),(S9 `2))) ) & ( S9 is Sub_negative implies F1 . S9 = 'not' (F1 . (Sub_the_argument_of S9)) ) & ( S9 is Sub_conjunctive implies F1 . S9 = (F1 . (Sub_the_left_argument_of S9)) '&' (F1 . (Sub_the_right_argument_of S9)) ) & ( S9 is Sub_universal implies F1 . S9 = Quant (S9,(F1 . (Sub_the_scope_of S9))) ) ) by Def38; F1 = F by A2, A7, Lm6; hence ( S is Sub_conjunctive implies CQC_Sub S = (CQC_Sub (Sub_the_left_argument_of S)) '&' (CQC_Sub (Sub_the_right_argument_of S)) ) by A1, A2, A6, A3, A5; ::_thesis: verum end; theorem Th31: :: SUBSTUT1:31 for A being QC-alphabet for S1, S2 being Element of QC-Sub-WFF A st S1 `2 = S2 `2 holds CQC_Sub (Sub_& (S1,S2)) = (CQC_Sub S1) '&' (CQC_Sub S2) proof let A be QC-alphabet ; ::_thesis: for S1, S2 being Element of QC-Sub-WFF A st S1 `2 = S2 `2 holds CQC_Sub (Sub_& (S1,S2)) = (CQC_Sub S1) '&' (CQC_Sub S2) let S1, S2 be Element of QC-Sub-WFF A; ::_thesis: ( S1 `2 = S2 `2 implies CQC_Sub (Sub_& (S1,S2)) = (CQC_Sub S1) '&' (CQC_Sub S2) ) set S = Sub_& (S1,S2); assume A1: S1 `2 = S2 `2 ; ::_thesis: CQC_Sub (Sub_& (S1,S2)) = (CQC_Sub S1) '&' (CQC_Sub S2) then ( Sub_the_left_argument_of (Sub_& (S1,S2)) = S1 & Sub_the_right_argument_of (Sub_& (S1,S2)) = S2 ) by Th18, Th19; hence CQC_Sub (Sub_& (S1,S2)) = (CQC_Sub S1) '&' (CQC_Sub S2) by A1, Th13, Th30; ::_thesis: verum end; theorem Th32: :: SUBSTUT1:32 for A being QC-alphabet for S being Element of QC-Sub-WFF A st S is Sub_universal holds CQC_Sub S = Quant (S,(CQC_Sub (Sub_the_scope_of S))) proof let A be QC-alphabet ; ::_thesis: for S being Element of QC-Sub-WFF A st S is Sub_universal holds CQC_Sub S = Quant (S,(CQC_Sub (Sub_the_scope_of S))) let S be Element of QC-Sub-WFF A; ::_thesis: ( S is Sub_universal implies CQC_Sub S = Quant (S,(CQC_Sub (Sub_the_scope_of S))) ) consider F being Function of (QC-Sub-WFF A),(QC-WFF A) such that A1: CQC_Sub S = F . S and A2: for S9 being Element of QC-Sub-WFF A holds ( ( S9 is A -Sub_VERUM implies F . S9 = VERUM A ) & ( S9 is Sub_atomic implies F . S9 = (the_pred_symbol_of (S9 `1)) ! (CQC_Subst ((Sub_the_arguments_of S9),(S9 `2))) ) & ( S9 is Sub_negative implies F . S9 = 'not' (F . (Sub_the_argument_of S9)) ) & ( S9 is Sub_conjunctive implies F . S9 = (F . (Sub_the_left_argument_of S9)) '&' (F . (Sub_the_right_argument_of S9)) ) & ( S9 is Sub_universal implies F . S9 = Quant (S9,(F . (Sub_the_scope_of S9))) ) ) by Def38; consider G being Function of (QC-Sub-WFF A),(QC-WFF A) such that A3: CQC_Sub (Sub_the_scope_of S) = G . (Sub_the_scope_of S) and A4: for S9 being Element of QC-Sub-WFF A holds ( ( S9 is A -Sub_VERUM implies G . S9 = VERUM A ) & ( S9 is Sub_atomic implies G . S9 = (the_pred_symbol_of (S9 `1)) ! (CQC_Subst ((Sub_the_arguments_of S9),(S9 `2))) ) & ( S9 is Sub_negative implies G . S9 = 'not' (G . (Sub_the_argument_of S9)) ) & ( S9 is Sub_conjunctive implies G . S9 = (G . (Sub_the_left_argument_of S9)) '&' (G . (Sub_the_right_argument_of S9)) ) & ( S9 is Sub_universal implies G . S9 = Quant (S9,(G . (Sub_the_scope_of S9))) ) ) by Def38; F = G by A2, A4, Lm6; hence ( S is Sub_universal implies CQC_Sub S = Quant (S,(CQC_Sub (Sub_the_scope_of S))) ) by A1, A2, A3; ::_thesis: verum end; definition let A be QC-alphabet ; func CQC-Sub-WFF A -> Subset of (QC-Sub-WFF A) equals :: SUBSTUT1:def 39 { S where S is Element of QC-Sub-WFF A : S `1 is Element of CQC-WFF A } ; coherence { S where S is Element of QC-Sub-WFF A : S `1 is Element of CQC-WFF A } is Subset of (QC-Sub-WFF A) proof set X = { S where S is Element of QC-Sub-WFF A : S `1 is Element of CQC-WFF A } ; { S where S is Element of QC-Sub-WFF A : S `1 is Element of CQC-WFF A } c= QC-Sub-WFF A proof let a be set ; :: according to TARSKI:def_3 ::_thesis: ( not a in { S where S is Element of QC-Sub-WFF A : S `1 is Element of CQC-WFF A } or a in QC-Sub-WFF A ) assume a in { S where S is Element of QC-Sub-WFF A : S `1 is Element of CQC-WFF A } ; ::_thesis: a in QC-Sub-WFF A then ex S being Element of QC-Sub-WFF A st ( a = S & S `1 is Element of CQC-WFF A ) ; hence a in QC-Sub-WFF A ; ::_thesis: verum end; hence { S where S is Element of QC-Sub-WFF A : S `1 is Element of CQC-WFF A } is Subset of (QC-Sub-WFF A) ; ::_thesis: verum end; end; :: deftheorem defines CQC-Sub-WFF SUBSTUT1:def_39_:_ for A being QC-alphabet holds CQC-Sub-WFF A = { S where S is Element of QC-Sub-WFF A : S `1 is Element of CQC-WFF A } ; registration let A be QC-alphabet ; cluster CQC-Sub-WFF A -> non empty ; coherence not CQC-Sub-WFF A is empty proof set e = the Element of vSUB A; reconsider S = [(VERUM A), the Element of vSUB A] as Element of QC-Sub-WFF A by Def16; S `1 = VERUM A by MCART_1:7; then [(VERUM A), the Element of vSUB A] in CQC-Sub-WFF A ; hence not CQC-Sub-WFF A is empty ; ::_thesis: verum end; end; theorem Th33: :: SUBSTUT1:33 for A being QC-alphabet for S being Element of QC-Sub-WFF A st S is A -Sub_VERUM holds CQC_Sub S is Element of CQC-WFF A proof let A be QC-alphabet ; ::_thesis: for S being Element of QC-Sub-WFF A st S is A -Sub_VERUM holds CQC_Sub S is Element of CQC-WFF A let S be Element of QC-Sub-WFF A; ::_thesis: ( S is A -Sub_VERUM implies CQC_Sub S is Element of CQC-WFF A ) assume A1: S is A -Sub_VERUM ; ::_thesis: CQC_Sub S is Element of CQC-WFF A ex F being Function of (QC-Sub-WFF A),(QC-WFF A) st ( CQC_Sub S = F . S & ( for S9 being Element of QC-Sub-WFF A holds ( ( S9 is A -Sub_VERUM implies F . S9 = VERUM A ) & ( S9 is Sub_atomic implies F . S9 = (the_pred_symbol_of (S9 `1)) ! (CQC_Subst ((Sub_the_arguments_of S9),(S9 `2))) ) & ( S9 is Sub_negative implies F . S9 = 'not' (F . (Sub_the_argument_of S9)) ) & ( S9 is Sub_conjunctive implies F . S9 = (F . (Sub_the_left_argument_of S9)) '&' (F . (Sub_the_right_argument_of S9)) ) & ( S9 is Sub_universal implies F . S9 = Quant (S9,(F . (Sub_the_scope_of S9))) ) ) ) ) by Def38; hence CQC_Sub S is Element of CQC-WFF A by A1; ::_thesis: verum end; Lm7: for A being QC-alphabet for k being Element of NAT for P being QC-pred_symbol of k,A for ll being CQC-variable_list of k,A holds the_pred_symbol_of (P ! ll) = P proof let A be QC-alphabet ; ::_thesis: for k being Element of NAT for P being QC-pred_symbol of k,A for ll being CQC-variable_list of k,A holds the_pred_symbol_of (P ! ll) = P let k be Element of NAT ; ::_thesis: for P being QC-pred_symbol of k,A for ll being CQC-variable_list of k,A holds the_pred_symbol_of (P ! ll) = P let P be QC-pred_symbol of k,A; ::_thesis: for ll being CQC-variable_list of k,A holds the_pred_symbol_of (P ! ll) = P let ll be CQC-variable_list of k,A; ::_thesis: the_pred_symbol_of (P ! ll) = P A1: (<*P*> ^ ll) . 1 = P by FINSEQ_1:41; P ! ll is atomic by QC_LANG1:def_18; then consider k being Element of NAT , ll9 being QC-variable_list of k,A, P9 being QC-pred_symbol of k,A such that A2: ( the_pred_symbol_of (P ! ll) = P9 & P ! ll = P9 ! ll9 ) by QC_LANG1:def_22; ( P ! ll = <*P*> ^ ll & P9 ! ll9 = <*P9*> ^ ll9 ) by QC_LANG1:8; hence the_pred_symbol_of (P ! ll) = P by A2, A1, FINSEQ_1:41; ::_thesis: verum end; theorem Th34: :: SUBSTUT1:34 for A being QC-alphabet for k being Element of NAT for h being FinSequence holds ( h is CQC-variable_list of k,A iff ( h is FinSequence of bound_QC-variables A & len h = k ) ) proof let A be QC-alphabet ; ::_thesis: for k being Element of NAT for h being FinSequence holds ( h is CQC-variable_list of k,A iff ( h is FinSequence of bound_QC-variables A & len h = k ) ) let k be Element of NAT ; ::_thesis: for h being FinSequence holds ( h is CQC-variable_list of k,A iff ( h is FinSequence of bound_QC-variables A & len h = k ) ) let h be FinSequence; ::_thesis: ( h is CQC-variable_list of k,A iff ( h is FinSequence of bound_QC-variables A & len h = k ) ) thus ( h is CQC-variable_list of k,A implies ( h is FinSequence of bound_QC-variables A & len h = k ) ) ::_thesis: ( h is FinSequence of bound_QC-variables A & len h = k implies h is CQC-variable_list of k,A ) proof assume A1: h is CQC-variable_list of k,A ; ::_thesis: ( h is FinSequence of bound_QC-variables A & len h = k ) then rng h c= bound_QC-variables A by RELAT_1:def_19; hence h is FinSequence of bound_QC-variables A by FINSEQ_1:def_4; ::_thesis: len h = k thus len h = k by A1, CARD_1:def_7; ::_thesis: verum end; thus ( h is FinSequence of bound_QC-variables A & len h = k implies h is CQC-variable_list of k,A ) ::_thesis: verum proof assume that A2: h is FinSequence of bound_QC-variables A and A3: len h = k ; ::_thesis: h is CQC-variable_list of k,A rng h c= bound_QC-variables A by A2, FINSEQ_1:def_4; then rng h c= QC-variables A by XBOOLE_1:1; hence h is CQC-variable_list of k,A by A2, A3, CARD_1:def_7, FINSEQ_1:def_4; ::_thesis: verum end; end; theorem Th35: :: SUBSTUT1:35 for A being QC-alphabet for k being Element of NAT for P being QC-pred_symbol of k,A for ll being CQC-variable_list of k,A for e being Element of vSUB A holds CQC_Sub (Sub_P (P,ll,e)) is Element of CQC-WFF A proof let A be QC-alphabet ; ::_thesis: for k being Element of NAT for P being QC-pred_symbol of k,A for ll being CQC-variable_list of k,A for e being Element of vSUB A holds CQC_Sub (Sub_P (P,ll,e)) is Element of CQC-WFF A let k be Element of NAT ; ::_thesis: for P being QC-pred_symbol of k,A for ll being CQC-variable_list of k,A for e being Element of vSUB A holds CQC_Sub (Sub_P (P,ll,e)) is Element of CQC-WFF A let P be QC-pred_symbol of k,A; ::_thesis: for ll being CQC-variable_list of k,A for e being Element of vSUB A holds CQC_Sub (Sub_P (P,ll,e)) is Element of CQC-WFF A let ll be CQC-variable_list of k,A; ::_thesis: for e being Element of vSUB A holds CQC_Sub (Sub_P (P,ll,e)) is Element of CQC-WFF A let e be Element of vSUB A; ::_thesis: CQC_Sub (Sub_P (P,ll,e)) is Element of CQC-WFF A set l = Sub_the_arguments_of (Sub_P (P,ll,e)); A1: Sub_the_arguments_of (Sub_P (P,ll,e)) is CQC-variable_list of k,A by Def29; then reconsider l = Sub_the_arguments_of (Sub_P (P,ll,e)) as FinSequence of bound_QC-variables A by Th34; reconsider s = CQC_Subst (l,((Sub_P (P,ll,e)) `2)) as FinSequence of bound_QC-variables A ; len l = k by A1, CARD_1:def_7; then A2: len s = k by Def3; Sub_P (P,ll,e) = [(P ! ll),e] by Th9; then (Sub_P (P,ll,e)) `1 = P ! ll by MCART_1:7; then reconsider P9 = the_pred_symbol_of ((Sub_P (P,ll,e)) `1) as QC-pred_symbol of k,A by Lm7; reconsider s = s as CQC-variable_list of k,A by A2, Th34; ex F being Function of (QC-Sub-WFF A),(QC-WFF A) st ( CQC_Sub (Sub_P (P,ll,e)) = F . (Sub_P (P,ll,e)) & ( for S9 being Element of QC-Sub-WFF A holds ( ( S9 is A -Sub_VERUM implies F . S9 = VERUM A ) & ( S9 is Sub_atomic implies F . S9 = (the_pred_symbol_of (S9 `1)) ! (CQC_Subst ((Sub_the_arguments_of S9),(S9 `2))) ) & ( S9 is Sub_negative implies F . S9 = 'not' (F . (Sub_the_argument_of S9)) ) & ( S9 is Sub_conjunctive implies F . S9 = (F . (Sub_the_left_argument_of S9)) '&' (F . (Sub_the_right_argument_of S9)) ) & ( S9 is Sub_universal implies F . S9 = Quant (S9,(F . (Sub_the_scope_of S9))) ) ) ) ) by Def38; then CQC_Sub (Sub_P (P,ll,e)) = P9 ! s ; hence CQC_Sub (Sub_P (P,ll,e)) is Element of CQC-WFF A ; ::_thesis: verum end; theorem Th36: :: SUBSTUT1:36 for A being QC-alphabet for S being Element of QC-Sub-WFF A st CQC_Sub S is Element of CQC-WFF A holds CQC_Sub (Sub_not S) is Element of CQC-WFF A proof let A be QC-alphabet ; ::_thesis: for S being Element of QC-Sub-WFF A st CQC_Sub S is Element of CQC-WFF A holds CQC_Sub (Sub_not S) is Element of CQC-WFF A let S be Element of QC-Sub-WFF A; ::_thesis: ( CQC_Sub S is Element of CQC-WFF A implies CQC_Sub (Sub_not S) is Element of CQC-WFF A ) set S9 = Sub_not S; assume A1: CQC_Sub S is Element of CQC-WFF A ; ::_thesis: CQC_Sub (Sub_not S) is Element of CQC-WFF A CQC_Sub (Sub_not S) = 'not' (CQC_Sub S) by Th29; hence CQC_Sub (Sub_not S) is Element of CQC-WFF A by A1, CQC_LANG:8; ::_thesis: verum end; theorem Th37: :: SUBSTUT1:37 for A being QC-alphabet for S1, S2 being Element of QC-Sub-WFF A st S1 `2 = S2 `2 & CQC_Sub S1 is Element of CQC-WFF A & CQC_Sub S2 is Element of CQC-WFF A holds CQC_Sub (Sub_& (S1,S2)) is Element of CQC-WFF A proof let A be QC-alphabet ; ::_thesis: for S1, S2 being Element of QC-Sub-WFF A st S1 `2 = S2 `2 & CQC_Sub S1 is Element of CQC-WFF A & CQC_Sub S2 is Element of CQC-WFF A holds CQC_Sub (Sub_& (S1,S2)) is Element of CQC-WFF A let S1, S2 be Element of QC-Sub-WFF A; ::_thesis: ( S1 `2 = S2 `2 & CQC_Sub S1 is Element of CQC-WFF A & CQC_Sub S2 is Element of CQC-WFF A implies CQC_Sub (Sub_& (S1,S2)) is Element of CQC-WFF A ) assume A1: ( S1 `2 = S2 `2 & CQC_Sub S1 is Element of CQC-WFF A & CQC_Sub S2 is Element of CQC-WFF A ) ; ::_thesis: CQC_Sub (Sub_& (S1,S2)) is Element of CQC-WFF A ( S1 `2 = S2 `2 implies CQC_Sub (Sub_& (S1,S2)) = (CQC_Sub S1) '&' (CQC_Sub S2) ) by Th31; hence CQC_Sub (Sub_& (S1,S2)) is Element of CQC-WFF A by A1, CQC_LANG:9; ::_thesis: verum end; theorem Th38: :: SUBSTUT1:38 for A being QC-alphabet for x being bound_QC-variable of A for S being Element of QC-Sub-WFF A for xSQ being second_Q_comp of [S,x] st CQC_Sub S is Element of CQC-WFF A & [S,x] is quantifiable holds CQC_Sub (Sub_All ([S,x],xSQ)) is Element of CQC-WFF A proof let A be QC-alphabet ; ::_thesis: for x being bound_QC-variable of A for S being Element of QC-Sub-WFF A for xSQ being second_Q_comp of [S,x] st CQC_Sub S is Element of CQC-WFF A & [S,x] is quantifiable holds CQC_Sub (Sub_All ([S,x],xSQ)) is Element of CQC-WFF A let x be bound_QC-variable of A; ::_thesis: for S being Element of QC-Sub-WFF A for xSQ being second_Q_comp of [S,x] st CQC_Sub S is Element of CQC-WFF A & [S,x] is quantifiable holds CQC_Sub (Sub_All ([S,x],xSQ)) is Element of CQC-WFF A let S be Element of QC-Sub-WFF A; ::_thesis: for xSQ being second_Q_comp of [S,x] st CQC_Sub S is Element of CQC-WFF A & [S,x] is quantifiable holds CQC_Sub (Sub_All ([S,x],xSQ)) is Element of CQC-WFF A let xSQ be second_Q_comp of [S,x]; ::_thesis: ( CQC_Sub S is Element of CQC-WFF A & [S,x] is quantifiable implies CQC_Sub (Sub_All ([S,x],xSQ)) is Element of CQC-WFF A ) set S9 = Sub_All ([S,x],xSQ); assume that A1: CQC_Sub S is Element of CQC-WFF A and A2: [S,x] is quantifiable ; ::_thesis: CQC_Sub (Sub_All ([S,x],xSQ)) is Element of CQC-WFF A Sub_the_scope_of (Sub_All ([S,x],xSQ)) = [S,x] `1 by A2, Th21; then Quant ((Sub_All ([S,x],xSQ)),(CQC_Sub (Sub_the_scope_of (Sub_All ([S,x],xSQ))))) = All ((S_Bound (@ (Sub_All ([S,x],xSQ)))),(CQC_Sub S)) ; then Quant ((Sub_All ([S,x],xSQ)),(CQC_Sub (Sub_the_scope_of (Sub_All ([S,x],xSQ))))) is Element of CQC-WFF A by A1, CQC_LANG:13; hence CQC_Sub (Sub_All ([S,x],xSQ)) is Element of CQC-WFF A by A2, Th14, Th32; ::_thesis: verum end; scheme :: SUBSTUT1:sch 5 SubCQCInd{ F1() -> QC-alphabet , P1[ set ] } : for S being Element of CQC-Sub-WFF F1() holds P1[S] provided A1: for S, S9 being Element of CQC-Sub-WFF F1() for x being bound_QC-variable of F1() for SQ being second_Q_comp of [S,x] for k being Element of NAT for ll being CQC-variable_list of k,F1() for P being QC-pred_symbol of k,F1() for e being Element of vSUB F1() holds ( P1[ Sub_P (P,ll,e)] & ( S is F1() -Sub_VERUM implies P1[S] ) & ( P1[S] implies P1[ Sub_not S] ) & ( S `2 = S9 `2 & P1[S] & P1[S9] implies P1[ Sub_& (S,S9)] ) & ( [S,x] is quantifiable & P1[S] implies P1[ Sub_All ([S,x],SQ)] ) ) proof defpred S1[ Element of QC-Sub-WFF F1()] means ( $1 is Element of CQC-Sub-WFF F1() implies P1[$1] ); A2: for S being Element of QC-Sub-WFF F1() st S1[S] holds S1[ Sub_not S] proof let S be Element of QC-Sub-WFF F1(); ::_thesis: ( S1[S] implies S1[ Sub_not S] ) assume A3: S1[S] ; ::_thesis: S1[ Sub_not S] assume Sub_not S is Element of CQC-Sub-WFF F1() ; ::_thesis: P1[ Sub_not S] then Sub_not S in CQC-Sub-WFF F1() ; then consider S9 being Element of QC-Sub-WFF F1() such that A4: Sub_not S = S9 and A5: S9 `1 is Element of CQC-WFF F1() ; S9 `1 = 'not' (S `1) by A4, MCART_1:7; then S `1 is Element of CQC-WFF F1() by A5, CQC_LANG:8; then S in CQC-Sub-WFF F1() ; hence P1[ Sub_not S] by A1, A3; ::_thesis: verum end; A6: for k being Element of NAT for P being QC-pred_symbol of k,F1() for ll being QC-variable_list of k,F1() for e being Element of vSUB F1() holds S1[ Sub_P (P,ll,e)] proof let k be Element of NAT ; ::_thesis: for P being QC-pred_symbol of k,F1() for ll being QC-variable_list of k,F1() for e being Element of vSUB F1() holds S1[ Sub_P (P,ll,e)] let P be QC-pred_symbol of k,F1(); ::_thesis: for ll being QC-variable_list of k,F1() for e being Element of vSUB F1() holds S1[ Sub_P (P,ll,e)] let ll be QC-variable_list of k,F1(); ::_thesis: for e being Element of vSUB F1() holds S1[ Sub_P (P,ll,e)] let e be Element of vSUB F1(); ::_thesis: S1[ Sub_P (P,ll,e)] assume Sub_P (P,ll,e) is Element of CQC-Sub-WFF F1() ; ::_thesis: P1[ Sub_P (P,ll,e)] then Sub_P (P,ll,e) in CQC-Sub-WFF F1() ; then A7: ex S1 being Element of QC-Sub-WFF F1() st ( Sub_P (P,ll,e) = S1 & S1 `1 is Element of CQC-WFF F1() ) ; Sub_P (P,ll,e) = [(P ! ll),e] by Th9; then A8: P ! ll is Element of CQC-WFF F1() by A7, MCART_1:7; then A9: { (ll . j) where j is Element of NAT : ( 1 <= j & j <= len ll & ll . j in fixed_QC-variables F1() ) } = {} by CQC_LANG:7; { (ll . i) where i is Element of NAT : ( 1 <= i & i <= len ll & ll . i in free_QC-variables F1() ) } = {} by A8, CQC_LANG:7; then ll is CQC-variable_list of k,F1() by A9, CQC_LANG:5; hence P1[ Sub_P (P,ll,e)] by A1; ::_thesis: verum end; A10: for S1, S2 being Element of QC-Sub-WFF F1() st S1 `2 = S2 `2 & S1[S1] & S1[S2] holds S1[ Sub_& (S1,S2)] proof let S1, S2 be Element of QC-Sub-WFF F1(); ::_thesis: ( S1 `2 = S2 `2 & S1[S1] & S1[S2] implies S1[ Sub_& (S1,S2)] ) assume that A11: S1 `2 = S2 `2 and A12: ( S1[S1] & S1[S2] ) ; ::_thesis: S1[ Sub_& (S1,S2)] assume Sub_& (S1,S2) is Element of CQC-Sub-WFF F1() ; ::_thesis: P1[ Sub_& (S1,S2)] then Sub_& (S1,S2) in CQC-Sub-WFF F1() ; then consider S9 being Element of QC-Sub-WFF F1() such that A13: Sub_& (S1,S2) = S9 and A14: S9 `1 is Element of CQC-WFF F1() ; Sub_& (S1,S2) = [((S1 `1) '&' (S2 `1)),(S1 `2)] by A11, Def21; then A15: S9 `1 = (S1 `1) '&' (S2 `1) by A13, MCART_1:7; then S2 `1 is Element of CQC-WFF F1() by A14, CQC_LANG:9; then A16: S2 in CQC-Sub-WFF F1() ; S1 `1 is Element of CQC-WFF F1() by A14, A15, CQC_LANG:9; then S1 in CQC-Sub-WFF F1() ; hence P1[ Sub_& (S1,S2)] by A1, A11, A12, A16; ::_thesis: verum end; A17: for x being bound_QC-variable of F1() for S being Element of QC-Sub-WFF F1() for SQ being second_Q_comp of [S,x] st [S,x] is quantifiable & S1[S] holds S1[ Sub_All ([S,x],SQ)] proof let x be bound_QC-variable of F1(); ::_thesis: for S being Element of QC-Sub-WFF F1() for SQ being second_Q_comp of [S,x] st [S,x] is quantifiable & S1[S] holds S1[ Sub_All ([S,x],SQ)] let S be Element of QC-Sub-WFF F1(); ::_thesis: for SQ being second_Q_comp of [S,x] st [S,x] is quantifiable & S1[S] holds S1[ Sub_All ([S,x],SQ)] let SQ be second_Q_comp of [S,x]; ::_thesis: ( [S,x] is quantifiable & S1[S] implies S1[ Sub_All ([S,x],SQ)] ) assume that A18: [S,x] is quantifiable and A19: S1[S] ; ::_thesis: S1[ Sub_All ([S,x],SQ)] assume Sub_All ([S,x],SQ) is Element of CQC-Sub-WFF F1() ; ::_thesis: P1[ Sub_All ([S,x],SQ)] then Sub_All ([S,x],SQ) in CQC-Sub-WFF F1() ; then consider S9 being Element of QC-Sub-WFF F1() such that A20: Sub_All ([S,x],SQ) = S9 and A21: S9 `1 is Element of CQC-WFF F1() ; Sub_All ([S,x],SQ) = [(All (([S,x] `2),(([S,x] `1) `1))),SQ] by A18, Def24; then S9 `1 = All (([S,x] `2),(([S,x] `1) `1)) by A20, MCART_1:7; then ([S,x] `1) `1 is Element of CQC-WFF F1() by A21, CQC_LANG:13; then S in CQC-Sub-WFF F1() ; hence P1[ Sub_All ([S,x],SQ)] by A1, A18, A19; ::_thesis: verum end; A22: for S being Element of QC-Sub-WFF F1() st S is F1() -Sub_VERUM holds S1[S] by A1; for S being Element of QC-Sub-WFF F1() holds S1[S] from SUBSTUT1:sch_1(A6, A22, A2, A10, A17); hence for S being Element of CQC-Sub-WFF F1() holds P1[S] ; ::_thesis: verum end; definition let A be QC-alphabet ; let S be Element of CQC-Sub-WFF A; :: original: CQC_Sub redefine func CQC_Sub S -> Element of CQC-WFF A; coherence CQC_Sub S is Element of CQC-WFF A proof defpred S1[ Element of QC-Sub-WFF A] means CQC_Sub $1 is Element of CQC-WFF A; A1: for S, S9 being Element of CQC-Sub-WFF A for x being bound_QC-variable of A for SQ being second_Q_comp of [S,x] for k being Element of NAT for ll being CQC-variable_list of k,A for P being QC-pred_symbol of k,A for e being Element of vSUB A holds ( S1[ Sub_P (P,ll,e)] & ( S is A -Sub_VERUM implies S1[S] ) & ( S1[S] implies S1[ Sub_not S] ) & ( S `2 = S9 `2 & S1[S] & S1[S9] implies S1[ Sub_& (S,S9)] ) & ( [S,x] is quantifiable & S1[S] implies S1[ Sub_All ([S,x],SQ)] ) ) by Th33, Th35, Th36, Th37, Th38; for S being Element of CQC-Sub-WFF A holds S1[S] from SUBSTUT1:sch_5(A1); hence CQC_Sub S is Element of CQC-WFF A ; ::_thesis: verum end; end; theorem :: SUBSTUT1:39 for A being QC-alphabet for Sub being CQC_Substitution of A holds rng (@ Sub) c= bound_QC-variables A ;