:: CQC_LANG  semantic presentation
:: deftheorem Def1   defines IFEQ CQC_LANG:def 1 : 
for 
b1, 
b2, 
b3, 
b4 being   
set  holds 
 ( ( 
b1 = b2 implies  
IFEQ b1,
b2,
b3,
b4 = b3 ) & ( not 
b1 = b2 implies  
IFEQ b1,
b2,
b3,
b4 = b4 ) );
:: deftheorem Def2   defines .--> CQC_LANG:def 2 : 
theorem Th1: :: CQC_LANG:1
canceled; 
theorem Th2: :: CQC_LANG:2
canceled; 
theorem Th3: :: CQC_LANG:3
canceled; 
theorem Th4: :: CQC_LANG:4
canceled; 
theorem Th5: :: CQC_LANG:5
theorem Th6: :: CQC_LANG:6
for 
b1, 
b2 being   
set  holds  
(b1 .--> b2) . b1 = b2
Lemma4: 
for b1 being  bound_QC-variable  holds not b1 in  fixed_QC-variables 
 
theorem Th7: :: CQC_LANG:7
:: deftheorem Def3   defines Subst CQC_LANG:def 3 : 
theorem Th8: :: CQC_LANG:8
canceled; 
theorem Th9: :: CQC_LANG:9
canceled; 
theorem Th10: :: CQC_LANG:10
theorem Th11: :: CQC_LANG:11
:: deftheorem Def4   defines CQC-WFF CQC_LANG:def 4 : 
theorem Th12: :: CQC_LANG:12
canceled; 
theorem Th13: :: CQC_LANG:13
:: deftheorem Def5   defines CQC-variable_list-like CQC_LANG:def 5 : 
theorem Th14: :: CQC_LANG:14
canceled; 
theorem Th15: :: CQC_LANG:15
theorem Th16: :: CQC_LANG:16
theorem Th17: :: CQC_LANG:17
theorem Th18: :: CQC_LANG:18
theorem Th19: :: CQC_LANG:19
theorem Th20: :: CQC_LANG:20
theorem Th21: :: CQC_LANG:21
theorem Th22: :: CQC_LANG:22
theorem Th23: :: CQC_LANG:23
theorem Th24: :: CQC_LANG:24
scheme  :: CQC_LANG:sch 3
s3{ 
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
E20: 
( 
F2() 
. VERUM  = F4() & ( for 
b1, 
b2 being   
Element of  
CQC-WFF  for 
b3 being  
bound_QC-variable for 
b4 being  
Nat for 
b5 being  
CQC-variable_list of 
b4 for 
b6 being  
QC-pred_symbol of 
b4 holds 
 ( 
F2() 
. (b6 ! b5) = F5(
b4,
b6,
b5) & 
F2() 
. ('not' b1) = F6(
(F2() . b1)) & 
F2() 
. (b1 '&' b2) = F7(
(F2() . b1),
(F2() . b2)) & 
F2() 
. (All b3,b1) = F8(
b3,
(F2() . b1)) ) ) )
 
and E21: 
( 
F3() 
. VERUM  = F4() & ( for 
b1, 
b2 being   
Element of  
CQC-WFF  for 
b3 being  
bound_QC-variable for 
b4 being  
Nat for 
b5 being  
CQC-variable_list of 
b4 for 
b6 being  
QC-pred_symbol of 
b4 holds 
 ( 
F3() 
. (b6 ! b5) = F5(
b4,
b6,
b5) & 
F3() 
. ('not' b1) = F6(
(F3() . b1)) & 
F3() 
. (b1 '&' b2) = F7(
(F3() . b1),
(F3() . b2)) & 
F3() 
. (All b3,b1) = F8(
b3,
(F3() . b1)) ) ) )
 
 
 
scheme  :: CQC_LANG:sch 4
s4{ 
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 
b1 being   
Element of 
F1()ex 
b2 being  
Function of  
CQC-WFF ,
F1() st 
( 
b1 = b2 . F2() & 
b2 . VERUM  = F3() & ( for 
b3, 
b4 being   
Element of  
CQC-WFF  for 
b5 being  
bound_QC-variable for 
b6 being  
Nat for 
b7 being  
CQC-variable_list of 
b6 for 
b8 being  
QC-pred_symbol of 
b6 holds 
 ( 
b2 . (b8 ! b7) = F4(
b6,
b8,
b7) & 
b2 . ('not' b3) = F5(
(b2 . b3)) & 
b2 . (b3 '&' b4) = F6(
(b2 . b3),
(b2 . b4)) & 
b2 . (All b5,b3) = F7(
b5,
(b2 . b3)) ) ) ) & ( for 
b1, 
b2 being   
Element of 
F1()  st ex 
b3 being  
Function of  
CQC-WFF ,
F1() st 
( 
b1 = b3 . F2() & 
b3 . VERUM  = F3() & ( for 
b4, 
b5 being   
Element of  
CQC-WFF  for 
b6 being  
bound_QC-variable for 
b7 being  
Nat for 
b8 being  
CQC-variable_list of 
b7 for 
b9 being  
QC-pred_symbol of 
b7 holds 
 ( 
b3 . (b9 ! b8) = F4(
b7,
b9,
b8) & 
b3 . ('not' b4) = F5(
(b3 . b4)) & 
b3 . (b4 '&' b5) = F6(
(b3 . b4),
(b3 . b5)) & 
b3 . (All b6,b4) = F7(
b6,
(b3 . b4)) ) ) ) & ex 
b3 being  
Function of  
CQC-WFF ,
F1() st 
( 
b2 = b3 . F2() & 
b3 . VERUM  = F3() & ( for 
b4, 
b5 being   
Element of  
CQC-WFF  for 
b6 being  
bound_QC-variable for 
b7 being  
Nat for 
b8 being  
CQC-variable_list of 
b7 for 
b9 being  
QC-pred_symbol of 
b7 holds 
 ( 
b3 . (b9 ! b8) = F4(
b7,
b9,
b8) & 
b3 . ('not' b4) = F5(
(b3 . b4)) & 
b3 . (b4 '&' b5) = F6(
(b3 . b4),
(b3 . b5)) & 
b3 . (All b6,b4) = F7(
b6,
(b3 . b4)) ) ) ) holds 
b1 = b2 ) )
 
 
 
scheme  :: CQC_LANG:sch 5
s5{ 
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  :: CQC_LANG:sch 6
s6{ 
F1() 
->  non 
empty  set , 
F2() 
->    Element of 
F1(), 
F3(   
set ) 
->    Element of 
F1(), 
F4(   
set ,   
set ,   
set ) 
->    Element of 
F1(), 
F5() 
->   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  :: CQC_LANG:sch 7
s7{ 
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  :: CQC_LANG:sch 8
s8{ 
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  :: CQC_LANG:sch 9
s9{ 
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
 
Lemma20: 
for b1 being  bound_QC-variable
 for b2, b3 being  Function of  QC-WFF , QC-WFF   st ( for b4 being   Element of  QC-WFF  holds 
 ( b2 . VERUM  =  VERUM  & ( b4 is atomic implies b2 . b4 = (the_pred_symbol_of b4) ! (Subst (the_arguments_of b4),((a. 0) .--> b1)) ) & ( b4 is negative implies b2 . b4 =  'not' (b2 . (the_argument_of b4)) ) & ( b4 is conjunctive implies b2 . b4 = (b2 . (the_left_argument_of b4)) '&' (b2 . (the_right_argument_of b4)) ) & ( b4 is universal implies b2 . b4 =  IFEQ (bound_in b4),b1,b4,(All (bound_in b4),(b2 . (the_scope_of b4))) ) ) ) & ( for b4 being   Element of  QC-WFF  holds 
 ( b3 . VERUM  =  VERUM  & ( b4 is atomic implies b3 . b4 = (the_pred_symbol_of b4) ! (Subst (the_arguments_of b4),((a. 0) .--> b1)) ) & ( b4 is negative implies b3 . b4 =  'not' (b3 . (the_argument_of b4)) ) & ( b4 is conjunctive implies b3 . b4 = (b3 . (the_left_argument_of b4)) '&' (b3 . (the_right_argument_of b4)) ) & ( b4 is universal implies b3 . b4 =  IFEQ (bound_in b4),b1,b4,(All (bound_in b4),(b3 . (the_scope_of b4))) ) ) ) holds 
b2 = b3
 
definition
let c1 be    
Element of  
QC-WFF ;
let c2 be   
bound_QC-variable;
func c1 . c2 ->    Element of  
QC-WFF  means :
Def6: 
:: CQC_LANG:def 6
ex 
b1 being  
Function of  
QC-WFF , 
QC-WFF  st 
( 
a3 = b1 . a1 & ( for 
b2 being   
Element of  
QC-WFF  holds 
 ( 
b1 . VERUM  =  VERUM  & ( 
b2 is 
atomic implies 
b1 . b2 = (the_pred_symbol_of b2) ! (Subst (the_arguments_of b2),((a. 0) .--> a2)) ) & ( 
b2 is 
negative implies 
b1 . b2 =  'not' (b1 . (the_argument_of b2)) ) & ( 
b2 is 
conjunctive implies 
b1 . b2 = (b1 . (the_left_argument_of b2)) '&' (b1 . (the_right_argument_of b2)) ) & ( 
b2 is 
universal implies 
b1 . b2 =  IFEQ (bound_in b2),
a2,
b2,
(All (bound_in b2),(b1 . (the_scope_of b2))) ) ) ) );
existence 
ex b1 being   Element of  QC-WFF ex b2 being  Function of  QC-WFF , QC-WFF  st 
( b1 = b2 . c1 & ( for b3 being   Element of  QC-WFF  holds 
 ( b2 . VERUM  =  VERUM  & ( b3 is atomic implies b2 . b3 = (the_pred_symbol_of b3) ! (Subst (the_arguments_of b3),((a. 0) .--> c2)) ) & ( b3 is negative implies b2 . b3 =  'not' (b2 . (the_argument_of b3)) ) & ( b3 is conjunctive implies b2 . b3 = (b2 . (the_left_argument_of b3)) '&' (b2 . (the_right_argument_of b3)) ) & ( b3 is universal implies b2 . b3 =  IFEQ (bound_in b3),c2,b3,(All (bound_in b3),(b2 . (the_scope_of b3))) ) ) ) )
 
uniqueness 
for b1, b2 being   Element of  QC-WFF   st ex b3 being  Function of  QC-WFF , QC-WFF  st 
( b1 = b3 . c1 & ( for b4 being   Element of  QC-WFF  holds 
 ( b3 . VERUM  =  VERUM  & ( b4 is atomic implies b3 . b4 = (the_pred_symbol_of b4) ! (Subst (the_arguments_of b4),((a. 0) .--> c2)) ) & ( b4 is negative implies b3 . b4 =  'not' (b3 . (the_argument_of b4)) ) & ( b4 is conjunctive implies b3 . b4 = (b3 . (the_left_argument_of b4)) '&' (b3 . (the_right_argument_of b4)) ) & ( b4 is universal implies b3 . b4 =  IFEQ (bound_in b4),c2,b4,(All (bound_in b4),(b3 . (the_scope_of b4))) ) ) ) ) & ex b3 being  Function of  QC-WFF , QC-WFF  st 
( b2 = b3 . c1 & ( for b4 being   Element of  QC-WFF  holds 
 ( b3 . VERUM  =  VERUM  & ( b4 is atomic implies b3 . b4 = (the_pred_symbol_of b4) ! (Subst (the_arguments_of b4),((a. 0) .--> c2)) ) & ( b4 is negative implies b3 . b4 =  'not' (b3 . (the_argument_of b4)) ) & ( b4 is conjunctive implies b3 . b4 = (b3 . (the_left_argument_of b4)) '&' (b3 . (the_right_argument_of b4)) ) & ( b4 is universal implies b3 . b4 =  IFEQ (bound_in b4),c2,b4,(All (bound_in b4),(b3 . (the_scope_of b4))) ) ) ) ) holds 
b1 = b2
 by Lemma20;
 
end;
 
:: deftheorem Def6   defines . CQC_LANG:def 6 : 
theorem Th25: :: CQC_LANG:25
canceled; 
theorem Th26: :: CQC_LANG:26
canceled; 
theorem Th27: :: CQC_LANG:27
canceled; 
theorem Th28: :: CQC_LANG:28
theorem Th29: :: CQC_LANG:29
theorem Th30: :: CQC_LANG:30
theorem Th31: :: CQC_LANG:31
theorem Th32: :: CQC_LANG:32
theorem Th33: :: CQC_LANG:33
theorem Th34: :: CQC_LANG:34
Lemma29: 
for b1 being  bound_QC-variable
 for b2 being   Element of  QC-WFF   st b2 is universal holds 
b2 . b1 =  IFEQ (bound_in b2),b1,b2,(All (bound_in b2),((the_scope_of b2) . b1))
 
theorem Th35: :: CQC_LANG:35
theorem Th36: :: CQC_LANG:36
theorem Th37: :: CQC_LANG:37
theorem Th38: :: CQC_LANG:38
theorem Th39: :: CQC_LANG:39
theorem Th40: :: CQC_LANG:40
theorem Th41: :: CQC_LANG:41
theorem Th42: :: CQC_LANG:42
theorem Th43: :: CQC_LANG:43
for 
b1, 
b2, 
b3 being   
set  holds  
(b1,b2 :-> b3) . b1,
b2 = b3