begin
theorem
canceled;
theorem
canceled;
theorem
canceled;
theorem
canceled;
theorem
canceled;
theorem
canceled;
Lm1:
for x being bound_QC-variable holds not x in fixed_QC-variables
theorem Th7:
:: deftheorem CQC_LANG:def 1 :
canceled;
:: deftheorem CQC_LANG:def 2 :
canceled;
:: deftheorem Def3 defines Subst CQC_LANG:def 3 :
for l being FinSequence of QC-variables
for f being Substitution
for b3 being FinSequence of QC-variables holds
( b3 = Subst (l,f) iff ( len b3 = len l & ( for k being Element of NAT st 1 <= k & k <= len l holds
( ( l . k in dom f implies b3 . k = f . (l . k) ) & ( not l . k in dom f implies b3 . k = l . k ) ) ) ) );
theorem
canceled;
theorem
canceled;
theorem Th10:
theorem Th11:
:: deftheorem defines CQC-WFF CQC_LANG:def 4 :
CQC-WFF = { s where s is QC-formula : ( Fixed s = {} & Free s = {} ) } ;
theorem
canceled;
theorem Th13:
theorem
canceled;
theorem Th15:
theorem
theorem Th17:
:: deftheorem CQC_LANG:def 5 :
canceled;
theorem Th18:
theorem Th19:
theorem Th20:
theorem Th21:
theorem Th22:
theorem Th23:
theorem Th24:
scheme
CQCFuncUniq{
F1()
-> non
empty set ,
F2()
-> Function of
CQC-WFF,
F1(),
F3()
-> Function of
CQC-WFF,
F1(),
F4()
-> Element of
F1(),
F5(
set ,
set ,
set )
-> Element of
F1(),
F6(
set )
-> Element of
F1(),
F7(
set ,
set )
-> Element of
F1(),
F8(
set ,
set )
-> Element of
F1() } :
provided
A1:
(
F2()
. VERUM = F4() & ( for
r,
s being
Element of
CQC-WFF for
x being
bound_QC-variable for
k being
Element of
NAT for
l being
CQC-variable_list of
k for
P being
QC-pred_symbol of
k holds
(
F2()
. (P ! l) = F5(
k,
P,
l) &
F2()
. ('not' r) = F6(
(F2() . r)) &
F2()
. (r '&' s) = F7(
(F2() . r),
(F2() . s)) &
F2()
. (All (x,r)) = F8(
x,
(F2() . r)) ) ) )
and A2:
(
F3()
. VERUM = F4() & ( for
r,
s being
Element of
CQC-WFF for
x being
bound_QC-variable for
k being
Element of
NAT for
l being
CQC-variable_list of
k for
P being
QC-pred_symbol of
k holds
(
F3()
. (P ! l) = F5(
k,
P,
l) &
F3()
. ('not' r) = F6(
(F3() . r)) &
F3()
. (r '&' s) = F7(
(F3() . r),
(F3() . s)) &
F3()
. (All (x,r)) = F8(
x,
(F3() . r)) ) ) )
scheme
CQCDefcorrectness{
F1()
-> non
empty set ,
F2()
-> Element of
CQC-WFF ,
F3()
-> Element of
F1(),
F4(
set ,
set ,
set )
-> Element of
F1(),
F5(
set )
-> Element of
F1(),
F6(
set ,
set )
-> Element of
F1(),
F7(
set ,
set )
-> Element of
F1() } :
( ex
d being
Element of
F1() ex
F being
Function of
CQC-WFF,
F1() st
(
d = F . F2() &
F . VERUM = F3() & ( for
r,
s being
Element of
CQC-WFF for
x being
bound_QC-variable for
k being
Element of
NAT for
l being
CQC-variable_list of
k for
P being
QC-pred_symbol of
k holds
(
F . (P ! l) = F4(
k,
P,
l) &
F . ('not' r) = F5(
(F . r)) &
F . (r '&' s) = F6(
(F . r),
(F . s)) &
F . (All (x,r)) = F7(
x,
(F . r)) ) ) ) & ( for
d1,
d2 being
Element of
F1() st ex
F being
Function of
CQC-WFF,
F1() st
(
d1 = F . F2() &
F . VERUM = F3() & ( for
r,
s being
Element of
CQC-WFF for
x being
bound_QC-variable for
k being
Element of
NAT for
l being
CQC-variable_list of
k for
P being
QC-pred_symbol of
k holds
(
F . (P ! l) = F4(
k,
P,
l) &
F . ('not' r) = F5(
(F . r)) &
F . (r '&' s) = F6(
(F . r),
(F . s)) &
F . (All (x,r)) = F7(
x,
(F . r)) ) ) ) & ex
F being
Function of
CQC-WFF,
F1() st
(
d2 = F . F2() &
F . VERUM = F3() & ( for
r,
s being
Element of
CQC-WFF for
x being
bound_QC-variable for
k being
Element of
NAT for
l being
CQC-variable_list of
k for
P being
QC-pred_symbol of
k holds
(
F . (P ! l) = F4(
k,
P,
l) &
F . ('not' r) = F5(
(F . r)) &
F . (r '&' s) = F6(
(F . r),
(F . s)) &
F . (All (x,r)) = F7(
x,
(F . r)) ) ) ) holds
d1 = d2 ) )
scheme
CQCDefVERUM{
F1()
-> non
empty set ,
F2(
set )
-> Element of
F1(),
F3()
-> Element of
F1(),
F4(
set ,
set ,
set )
-> Element of
F1(),
F5(
set )
-> Element of
F1(),
F6(
set ,
set )
-> Element of
F1(),
F7(
set ,
set )
-> Element of
F1() } :
provided
scheme
CQCDefatomic{
F1()
-> non
empty set ,
F2()
-> Element of
F1(),
F3(
set )
-> Element of
F1(),
F4(
set ,
set ,
set )
-> Element of
F1(),
F5()
-> Element of
NAT ,
F6()
-> QC-pred_symbol of
F5(),
F7()
-> CQC-variable_list of
F5(),
F8(
set )
-> Element of
F1(),
F9(
set ,
set )
-> Element of
F1(),
F10(
set ,
set )
-> Element of
F1() } :
F3(
(F6() ! F7()))
= F4(
F5(),
F6(),
F7())
provided
scheme
CQCDefnegative{
F1()
-> non
empty set ,
F2(
set )
-> Element of
F1(),
F3()
-> Element of
F1(),
F4(
set ,
set ,
set )
-> Element of
F1(),
F5(
set )
-> Element of
F1(),
F6()
-> Element of
CQC-WFF ,
F7(
set ,
set )
-> Element of
F1(),
F8(
set ,
set )
-> Element of
F1() } :
F2(
('not' F6()))
= F5(
F2(
F6()))
provided
scheme
QCDefconjunctive{
F1()
-> non
empty set ,
F2(
set )
-> Element of
F1(),
F3()
-> Element of
F1(),
F4(
set ,
set ,
set )
-> Element of
F1(),
F5(
set )
-> Element of
F1(),
F6(
set ,
set )
-> Element of
F1(),
F7()
-> Element of
CQC-WFF ,
F8()
-> Element of
CQC-WFF ,
F9(
set ,
set )
-> Element of
F1() } :
F2(
(F7() '&' F8()))
= F6(
F2(
F7()),
F2(
F8()))
provided
scheme
QCDefuniversal{
F1()
-> non
empty set ,
F2(
set )
-> Element of
F1(),
F3()
-> Element of
F1(),
F4(
set ,
set ,
set )
-> Element of
F1(),
F5(
set )
-> Element of
F1(),
F6(
set ,
set )
-> Element of
F1(),
F7(
set ,
set )
-> Element of
F1(),
F8()
-> bound_QC-variable,
F9()
-> Element of
CQC-WFF } :
F2(
(All (F8(),F9())))
= F7(
F8(),
F2(
F9()))
provided
Lm2:
for x being bound_QC-variable
for F1, F2 being Function of QC-WFF,QC-WFF st ( for q being Element of QC-WFF holds
( F1 . VERUM = VERUM & ( q is atomic implies F1 . q = (the_pred_symbol_of q) ! (Subst ((the_arguments_of q),((a. 0) .--> x))) ) & ( q is negative implies F1 . q = 'not' (F1 . (the_argument_of q)) ) & ( q is conjunctive implies F1 . q = (F1 . (the_left_argument_of q)) '&' (F1 . (the_right_argument_of q)) ) & ( q is universal implies F1 . q = IFEQ ((bound_in q),x,q,(All ((bound_in q),(F1 . (the_scope_of q))))) ) ) ) & ( for q being Element of QC-WFF holds
( F2 . VERUM = VERUM & ( q is atomic implies F2 . q = (the_pred_symbol_of q) ! (Subst ((the_arguments_of q),((a. 0) .--> x))) ) & ( q is negative implies F2 . q = 'not' (F2 . (the_argument_of q)) ) & ( q is conjunctive implies F2 . q = (F2 . (the_left_argument_of q)) '&' (F2 . (the_right_argument_of q)) ) & ( q is universal implies F2 . q = IFEQ ((bound_in q),x,q,(All ((bound_in q),(F2 . (the_scope_of q))))) ) ) ) holds
F1 = F2
definition
let p be
Element of
QC-WFF ;
let x be
bound_QC-variable;
func p . x -> Element of
QC-WFF means :
Def6:
ex
F being
Function of
QC-WFF,
QC-WFF st
(
it = F . p & ( for
q being
Element of
QC-WFF holds
(
F . VERUM = VERUM & (
q is
atomic implies
F . q = (the_pred_symbol_of q) ! (Subst ((the_arguments_of q),((a. 0) .--> x))) ) & (
q is
negative implies
F . q = 'not' (F . (the_argument_of q)) ) & (
q is
conjunctive implies
F . q = (F . (the_left_argument_of q)) '&' (F . (the_right_argument_of q)) ) & (
q is
universal implies
F . q = IFEQ (
(bound_in q),
x,
q,
(All ((bound_in q),(F . (the_scope_of q))))) ) ) ) );
existence
ex b1 being Element of QC-WFF ex F being Function of QC-WFF,QC-WFF st
( b1 = F . p & ( for q being Element of QC-WFF holds
( F . VERUM = VERUM & ( q is atomic implies F . q = (the_pred_symbol_of q) ! (Subst ((the_arguments_of q),((a. 0) .--> x))) ) & ( q is negative implies F . q = 'not' (F . (the_argument_of q)) ) & ( q is conjunctive implies F . q = (F . (the_left_argument_of q)) '&' (F . (the_right_argument_of q)) ) & ( q is universal implies F . q = IFEQ ((bound_in q),x,q,(All ((bound_in q),(F . (the_scope_of q))))) ) ) ) )
uniqueness
for b1, b2 being Element of QC-WFF st ex F being Function of QC-WFF,QC-WFF st
( b1 = F . p & ( for q being Element of QC-WFF holds
( F . VERUM = VERUM & ( q is atomic implies F . q = (the_pred_symbol_of q) ! (Subst ((the_arguments_of q),((a. 0) .--> x))) ) & ( q is negative implies F . q = 'not' (F . (the_argument_of q)) ) & ( q is conjunctive implies F . q = (F . (the_left_argument_of q)) '&' (F . (the_right_argument_of q)) ) & ( q is universal implies F . q = IFEQ ((bound_in q),x,q,(All ((bound_in q),(F . (the_scope_of q))))) ) ) ) ) & ex F being Function of QC-WFF,QC-WFF st
( b2 = F . p & ( for q being Element of QC-WFF holds
( F . VERUM = VERUM & ( q is atomic implies F . q = (the_pred_symbol_of q) ! (Subst ((the_arguments_of q),((a. 0) .--> x))) ) & ( q is negative implies F . q = 'not' (F . (the_argument_of q)) ) & ( q is conjunctive implies F . q = (F . (the_left_argument_of q)) '&' (F . (the_right_argument_of q)) ) & ( q is universal implies F . q = IFEQ ((bound_in q),x,q,(All ((bound_in q),(F . (the_scope_of q))))) ) ) ) ) holds
b1 = b2
by Lm2;
end;
:: deftheorem Def6 defines . CQC_LANG:def 6 :
for p being Element of QC-WFF
for x being bound_QC-variable
for b3 being Element of QC-WFF holds
( b3 = p . x iff ex F being Function of QC-WFF,QC-WFF st
( b3 = F . p & ( for q being Element of QC-WFF holds
( F . VERUM = VERUM & ( q is atomic implies F . q = (the_pred_symbol_of q) ! (Subst ((the_arguments_of q),((a. 0) .--> x))) ) & ( q is negative implies F . q = 'not' (F . (the_argument_of q)) ) & ( q is conjunctive implies F . q = (F . (the_left_argument_of q)) '&' (F . (the_right_argument_of q)) ) & ( q is universal implies F . q = IFEQ ((bound_in q),x,q,(All ((bound_in q),(F . (the_scope_of q))))) ) ) ) ) );
theorem
canceled;
theorem
canceled;
theorem
canceled;
theorem Th28:
theorem Th29:
theorem Th30:
theorem Th31:
theorem Th32:
theorem Th33:
theorem Th34:
Lm3:
for x being bound_QC-variable
for p being Element of QC-WFF st p is universal holds
p . x = IFEQ ((bound_in p),x,p,(All ((bound_in p),((the_scope_of p) . x))))
theorem Th35:
theorem Th36:
theorem Th37:
theorem Th38:
theorem Th39:
theorem
theorem
begin
theorem
theorem
theorem
theorem
canceled;
theorem
theorem