:: CQC_THE1 semantic presentation

theorem Th1: :: CQC_THE1:1
canceled;

theorem Th2: :: CQC_THE1:2
for n being natural number holds
( not n <= 1 or n = 0 or n = 1 ) by NAT_1:82;

theorem Th3: :: CQC_THE1:3
for n being natural number holds
( not n <= 2 or n = 0 or n = 1 or n = 2 ) by NAT_1:83;

theorem Th4: :: CQC_THE1:4
for n being natural number holds
( not n <= 3 or n = 0 or n = 1 or n = 2 or n = 3 ) by NAT_1:84;

theorem Th5: :: CQC_THE1:5
for n being natural number holds
( not n <= 4 or n = 0 or n = 1 or n = 2 or n = 3 or n = 4 ) by NAT_1:85;

theorem Th6: :: CQC_THE1:6
for n being natural number holds
( not n <= 5 or n = 0 or n = 1 or n = 2 or n = 3 or n = 4 or n = 5 ) by NAT_1:86;

theorem Th7: :: CQC_THE1:7
for n being natural number holds
( not n <= 6 or n = 0 or n = 1 or n = 2 or n = 3 or n = 4 or n = 5 or n = 6 ) by NAT_1:87;

theorem Th8: :: CQC_THE1:8
for n being natural number holds
( not n <= 7 or n = 0 or n = 1 or n = 2 or n = 3 or n = 4 or n = 5 or n = 6 or n = 7 ) by NAT_1:88;

theorem Th9: :: CQC_THE1:9
for n being natural number holds
( not n <= 8 or n = 0 or n = 1 or n = 2 or n = 3 or n = 4 or n = 5 or n = 6 or n = 7 or n = 8 ) by NAT_1:89;

theorem Th10: :: CQC_THE1:10
for n being natural number holds
( not n <= 9 or n = 0 or n = 1 or n = 2 or n = 3 or n = 4 or n = 5 or n = 6 or n = 7 or n = 8 or n = 9 ) by NAT_1:90;

theorem Th11: :: CQC_THE1:11
for n being Element of NAT holds { k where k is Element of NAT : k <= n + 1 } = { i where i is Element of NAT : i <= n } \/ {(n + 1)}
proof end;

theorem Th12: :: CQC_THE1:12
for n being Element of NAT holds { k where k is Element of NAT : k <= n } is finite
proof end;

deffunc H1( set ) -> set = a1 `1 ;

theorem Th13: :: CQC_THE1:13
for X, Y, Z being set st X is finite & X c= [:Y,Z:] holds
ex A, B being set st
( A is finite & A c= Y & B is finite & B c= Z & X c= [:A,B:] )
proof end;

theorem Th14: :: CQC_THE1:14
for X, Z, Y being set st X is finite & Z is finite & X c= [:Y,Z:] holds
ex A being set st
( A is finite & A c= Y & X c= [:A,Z:] )
proof end;

definition
let T be Subset of CQC-WFF ;
attr a1 is being_a_theory means :Def1: :: CQC_THE1:def 1
( VERUM in T & ( for p, q, r being Element of CQC-WFF
for s being QC-formula
for x, y being bound_QC-variable holds
( (('not' p) => p) => p in T & p => (('not' p) => q) in T & (p => q) => (('not' (q '&' r)) => ('not' (p '&' r))) in T & (p '&' q) => (q '&' p) in T & ( p in T & p => q in T implies q in T ) & (All x,p) => p in T & ( p => q in T & not x in still_not-bound_in p implies p => (All x,q) in T ) & ( s . x in CQC-WFF & s . y in CQC-WFF & not x in still_not-bound_in s & s . x in T implies s . y in T ) ) ) );
end;

:: deftheorem Def1 defines being_a_theory CQC_THE1:def 1 :
for T being Subset of CQC-WFF holds
( T is being_a_theory iff ( VERUM in T & ( for p, q, r being Element of CQC-WFF
for s being QC-formula
for x, y being bound_QC-variable holds
( (('not' p) => p) => p in T & p => (('not' p) => q) in T & (p => q) => (('not' (q '&' r)) => ('not' (p '&' r))) in T & (p '&' q) => (q '&' p) in T & ( p in T & p => q in T implies q in T ) & (All x,p) => p in T & ( p => q in T & not x in still_not-bound_in p implies p => (All x,q) in T ) & ( s . x in CQC-WFF & s . y in CQC-WFF & not x in still_not-bound_in s & s . x in T implies s . y in T ) ) ) ) );

notation
let T be Subset of CQC-WFF ;
synonym c1 is_a_theory for being_a_theory c1;
end;

theorem Th15: :: CQC_THE1:15
canceled;

theorem Th16: :: CQC_THE1:16
canceled;

theorem Th17: :: CQC_THE1:17
canceled;

theorem Th18: :: CQC_THE1:18
canceled;

theorem Th19: :: CQC_THE1:19
canceled;

theorem Th20: :: CQC_THE1:20
canceled;

theorem Th21: :: CQC_THE1:21
canceled;

theorem Th22: :: CQC_THE1:22
canceled;

theorem Th23: :: CQC_THE1:23
canceled;

theorem Th24: :: CQC_THE1:24
canceled;

theorem Th25: :: CQC_THE1:25
for T, S being Subset of CQC-WFF st T is_a_theory & S is_a_theory holds
T /\ S is_a_theory
proof end;

definition
let X be Subset of CQC-WFF ;
func Cn c1 -> Subset of CQC-WFF means :Def2: :: CQC_THE1:def 2
for t being Element of CQC-WFF holds
( t in it iff for T being Subset of CQC-WFF st T is_a_theory & X c= T holds
t in T );
existence
ex b1 being Subset of CQC-WFF st
for t being Element of CQC-WFF holds
( t in b1 iff for T being Subset of CQC-WFF st T is_a_theory & X c= T holds
t in T )
proof end;
uniqueness
for b1, b2 being Subset of CQC-WFF st ( for t being Element of CQC-WFF holds
( t in b1 iff for T being Subset of CQC-WFF st T is_a_theory & X c= T holds
t in T ) ) & ( for t being Element of CQC-WFF holds
( t in b2 iff for T being Subset of CQC-WFF st T is_a_theory & X c= T holds
t in T ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def2 defines Cn CQC_THE1:def 2 :
for X, b2 being Subset of CQC-WFF holds
( b2 = Cn X iff for t being Element of CQC-WFF holds
( t in b2 iff for T being Subset of CQC-WFF st T is_a_theory & X c= T holds
t in T ) );

theorem Th26: :: CQC_THE1:26
canceled;

theorem Th27: :: CQC_THE1:27
for X being Subset of CQC-WFF holds VERUM in Cn X
proof end;

theorem Th28: :: CQC_THE1:28
for X being Subset of CQC-WFF
for p being Element of CQC-WFF holds (('not' p) => p) => p in Cn X
proof end;

theorem Th29: :: CQC_THE1:29
for X being Subset of CQC-WFF
for p, q being Element of CQC-WFF holds p => (('not' p) => q) in Cn X
proof end;

theorem Th30: :: CQC_THE1:30
for X being Subset of CQC-WFF
for p, q, r being Element of CQC-WFF holds (p => q) => (('not' (q '&' r)) => ('not' (p '&' r))) in Cn X
proof end;

theorem Th31: :: CQC_THE1:31
for X being Subset of CQC-WFF
for p, q being Element of CQC-WFF holds (p '&' q) => (q '&' p) in Cn X
proof end;

theorem Th32: :: CQC_THE1:32
for X being Subset of CQC-WFF
for p, q being Element of CQC-WFF st p in Cn X & p => q in Cn X holds
q in Cn X
proof end;

theorem Th33: :: CQC_THE1:33
for X being Subset of CQC-WFF
for p being Element of CQC-WFF
for x being bound_QC-variable holds (All x,p) => p in Cn X
proof end;

theorem Th34: :: CQC_THE1:34
for X being Subset of CQC-WFF
for p, q being Element of CQC-WFF
for x being bound_QC-variable st p => q in Cn X & not x in still_not-bound_in p holds
p => (All x,q) in Cn X
proof end;

theorem Th35: :: CQC_THE1:35
for X being Subset of CQC-WFF
for s being QC-formula
for x, y being bound_QC-variable st s . x in CQC-WFF & s . y in CQC-WFF & not x in still_not-bound_in s & s . x in Cn X holds
s . y in Cn X
proof end;

theorem Th36: :: CQC_THE1:36
for X being Subset of CQC-WFF holds Cn X is_a_theory
proof end;

theorem Th37: :: CQC_THE1:37
for T, X being Subset of CQC-WFF st T is_a_theory & X c= T holds
Cn X c= T
proof end;

theorem Th38: :: CQC_THE1:38
for X being Subset of CQC-WFF holds X c= Cn X
proof end;

theorem Th39: :: CQC_THE1:39
for X, Y being Subset of CQC-WFF st X c= Y holds
Cn X c= Cn Y
proof end;

Lemma80: for X being Subset of CQC-WFF holds Cn (Cn X) c= Cn X
proof end;

theorem Th40: :: CQC_THE1:40
for X being Subset of CQC-WFF holds Cn (Cn X) = Cn X
proof end;

theorem Th41: :: CQC_THE1:41
for T being Subset of CQC-WFF holds
( T is_a_theory iff Cn T = T )
proof end;

definition
func Proof_Step_Kinds -> set equals :: CQC_THE1:def 3
{ k where k is Element of NAT : k <= 9 } ;
coherence
{ k where k is Element of NAT : k <= 9 } is set
;
end;

:: deftheorem Def3 defines Proof_Step_Kinds CQC_THE1:def 3 :
Proof_Step_Kinds = { k where k is Element of NAT : k <= 9 } ;

registration
cluster Proof_Step_Kinds -> non empty ;
coherence
not Proof_Step_Kinds is empty
proof end;
end;

theorem Th42: :: CQC_THE1:42
canceled;

theorem Th43: :: CQC_THE1:43
( 0 in Proof_Step_Kinds & 1 in Proof_Step_Kinds & 2 in Proof_Step_Kinds & 3 in Proof_Step_Kinds & 4 in Proof_Step_Kinds & 5 in Proof_Step_Kinds & 6 in Proof_Step_Kinds & 7 in Proof_Step_Kinds & 8 in Proof_Step_Kinds & 9 in Proof_Step_Kinds ) ;

theorem Th44: :: CQC_THE1:44
Proof_Step_Kinds is finite by ;

theorem Th45: :: CQC_THE1:45
for n being Element of NAT
for f being FinSequence of [:CQC-WFF ,Proof_Step_Kinds :] st 1 <= n & n <= len f & not (f . n) `2 = 0 & not (f . n) `2 = 1 & not (f . n) `2 = 2 & not (f . n) `2 = 3 & not (f . n) `2 = 4 & not (f . n) `2 = 5 & not (f . n) `2 = 6 & not (f . n) `2 = 7 & not (f . n) `2 = 8 holds
(f . n) `2 = 9
proof end;

definition
let PR be FinSequence of [:CQC-WFF ,Proof_Step_Kinds :];
let n be Element of NAT ;
let X be Subset of CQC-WFF ;
pred c1,c2 is_a_correct_step_wrt c3 means :Def4: :: CQC_THE1:def 4
(PR . n) `1 in X if (PR . n) `2 = 0
(PR . n) `1 = VERUM if (PR . n) `2 = 1
ex p being Element of CQC-WFF st (PR . n) `1 = (('not' p) => p) => p if (PR . n) `2 = 2
ex p, q being Element of CQC-WFF st (PR . n) `1 = p => (('not' p) => q) if (PR . n) `2 = 3
ex p, q, r being Element of CQC-WFF st (PR . n) `1 = (p => q) => (('not' (q '&' r)) => ('not' (p '&' r))) if (PR . n) `2 = 4
ex p, q being Element of CQC-WFF st (PR . n) `1 = (p '&' q) => (q '&' p) if (PR . n) `2 = 5
ex p being Element of CQC-WFF ex x being bound_QC-variable st (PR . n) `1 = (All x,p) => p if (PR . n) `2 = 6
ex i, j being Element of NAT ex p, q being Element of CQC-WFF st
( 1 <= i & i < n & 1 <= j & j < i & p = (PR . j) `1 & q = (PR . n) `1 & (PR . i) `1 = p => q ) if (PR . n) `2 = 7
ex i being Element of NAT ex p, q being Element of CQC-WFF ex x being bound_QC-variable st
( 1 <= i & i < n & (PR . i) `1 = p => q & not x in still_not-bound_in p & (PR . n) `1 = p => (All x,q) ) if (PR . n) `2 = 8
ex i being Element of NAT ex x, y being bound_QC-variable ex s being QC-formula st
( 1 <= i & i < n & s . x in CQC-WFF & s . y in CQC-WFF & not x in still_not-bound_in s & s . x = (PR . i) `1 & s . y = (PR . n) `1 ) if (PR . n) `2 = 9
;
consistency
( ( (PR . n) `2 = 0 & (PR . n) `2 = 1 implies ( (PR . n) `1 in X iff (PR . n) `1 = VERUM ) ) & ( (PR . n) `2 = 0 & (PR . n) `2 = 2 implies ( (PR . n) `1 in X iff ex p being Element of CQC-WFF st (PR . n) `1 = (('not' p) => p) => p ) ) & ( (PR . n) `2 = 0 & (PR . n) `2 = 3 implies ( (PR . n) `1 in X iff ex p, q being Element of CQC-WFF st (PR . n) `1 = p => (('not' p) => q) ) ) & ( (PR . n) `2 = 0 & (PR . n) `2 = 4 implies ( (PR . n) `1 in X iff ex p, q, r being Element of CQC-WFF st (PR . n) `1 = (p => q) => (('not' (q '&' r)) => ('not' (p '&' r))) ) ) & ( (PR . n) `2 = 0 & (PR . n) `2 = 5 implies ( (PR . n) `1 in X iff ex p, q being Element of CQC-WFF st (PR . n) `1 = (p '&' q) => (q '&' p) ) ) & ( (PR . n) `2 = 0 & (PR . n) `2 = 6 implies ( (PR . n) `1 in X iff ex p being Element of CQC-WFF ex x being bound_QC-variable st (PR . n) `1 = (All x,p) => p ) ) & ( (PR . n) `2 = 0 & (PR . n) `2 = 7 implies ( (PR . n) `1 in X iff ex i, j being Element of NAT ex p, q being Element of CQC-WFF st
( 1 <= i & i < n & 1 <= j & j < i & p = (PR . j) `1 & q = (PR . n) `1 & (PR . i) `1 = p => q ) ) ) & ( (PR . n) `2 = 0 & (PR . n) `2 = 8 implies ( (PR . n) `1 in X iff ex i being Element of NAT ex p, q being Element of CQC-WFF ex x being bound_QC-variable st
( 1 <= i & i < n & (PR . i) `1 = p => q & not x in still_not-bound_in p & (PR . n) `1 = p => (All x,q) ) ) ) & ( (PR . n) `2 = 0 & (PR . n) `2 = 9 implies ( (PR . n) `1 in X iff ex i being Element of NAT ex x, y being bound_QC-variable ex s being QC-formula st
( 1 <= i & i < n & s . x in CQC-WFF & s . y in CQC-WFF & not x in still_not-bound_in s & s . x = (PR . i) `1 & s . y = (PR . n) `1 ) ) ) & ( (PR . n) `2 = 1 & (PR . n) `2 = 2 implies ( (PR . n) `1 = VERUM iff ex p being Element of CQC-WFF st (PR . n) `1 = (('not' p) => p) => p ) ) & ( (PR . n) `2 = 1 & (PR . n) `2 = 3 implies ( (PR . n) `1 = VERUM iff ex p, q being Element of CQC-WFF st (PR . n) `1 = p => (('not' p) => q) ) ) & ( (PR . n) `2 = 1 & (PR . n) `2 = 4 implies ( (PR . n) `1 = VERUM iff ex p, q, r being Element of CQC-WFF st (PR . n) `1 = (p => q) => (('not' (q '&' r)) => ('not' (p '&' r))) ) ) & ( (PR . n) `2 = 1 & (PR . n) `2 = 5 implies ( (PR . n) `1 = VERUM iff ex p, q being Element of CQC-WFF st (PR . n) `1 = (p '&' q) => (q '&' p) ) ) & ( (PR . n) `2 = 1 & (PR . n) `2 = 6 implies ( (PR . n) `1 = VERUM iff ex p being Element of CQC-WFF ex x being bound_QC-variable st (PR . n) `1 = (All x,p) => p ) ) & ( (PR . n) `2 = 1 & (PR . n) `2 = 7 implies ( (PR . n) `1 = VERUM iff ex i, j being Element of NAT ex p, q being Element of CQC-WFF st
( 1 <= i & i < n & 1 <= j & j < i & p = (PR . j) `1 & q = (PR . n) `1 & (PR . i) `1 = p => q ) ) ) & ( (PR . n) `2 = 1 & (PR . n) `2 = 8 implies ( (PR . n) `1 = VERUM iff ex i being Element of NAT ex p, q being Element of CQC-WFF ex x being bound_QC-variable st
( 1 <= i & i < n & (PR . i) `1 = p => q & not x in still_not-bound_in p & (PR . n) `1 = p => (All x,q) ) ) ) & ( (PR . n) `2 = 1 & (PR . n) `2 = 9 implies ( (PR . n) `1 = VERUM iff ex i being Element of NAT ex x, y being bound_QC-variable ex s being QC-formula st
( 1 <= i & i < n & s . x in CQC-WFF & s . y in CQC-WFF & not x in still_not-bound_in s & s . x = (PR . i) `1 & s . y = (PR . n) `1 ) ) ) & ( (PR . n) `2 = 2 & (PR . n) `2 = 3 implies ( ex p being Element of CQC-WFF st (PR . n) `1 = (('not' p) => p) => p iff ex p, q being Element of CQC-WFF st (PR . n) `1 = p => (('not' p) => q) ) ) & ( (PR . n) `2 = 2 & (PR . n) `2 = 4 implies ( ex p being Element of CQC-WFF st (PR . n) `1 = (('not' p) => p) => p iff ex p, q, r being Element of CQC-WFF st (PR . n) `1 = (p => q) => (('not' (q '&' r)) => ('not' (p '&' r))) ) ) & ( (PR . n) `2 = 2 & (PR . n) `2 = 5 implies ( ex p being Element of CQC-WFF st (PR . n) `1 = (('not' p) => p) => p iff ex p, q being Element of CQC-WFF st (PR . n) `1 = (p '&' q) => (q '&' p) ) ) & ( (PR . n) `2 = 2 & (PR . n) `2 = 6 implies ( ex p being Element of CQC-WFF st (PR . n) `1 = (('not' p) => p) => p iff ex p being Element of CQC-WFF ex x being bound_QC-variable st (PR . n) `1 = (All x,p) => p ) ) & ( (PR . n) `2 = 2 & (PR . n) `2 = 7 implies ( ex p being Element of CQC-WFF st (PR . n) `1 = (('not' p) => p) => p iff ex i, j being Element of NAT ex p, q being Element of CQC-WFF st
( 1 <= i & i < n & 1 <= j & j < i & p = (PR . j) `1 & q = (PR . n) `1 & (PR . i) `1 = p => q ) ) ) & ( (PR . n) `2 = 2 & (PR . n) `2 = 8 implies ( ex p being Element of CQC-WFF st (PR . n) `1 = (('not' p) => p) => p iff ex i being Element of NAT ex p, q being Element of CQC-WFF ex x being bound_QC-variable st
( 1 <= i & i < n & (PR . i) `1 = p => q & not x in still_not-bound_in p & (PR . n) `1 = p => (All x,q) ) ) ) & ( (PR . n) `2 = 2 & (PR . n) `2 = 9 implies ( ex p being Element of CQC-WFF st (PR . n) `1 = (('not' p) => p) => p iff ex i being Element of NAT ex x, y being bound_QC-variable ex s being QC-formula st
( 1 <= i & i < n & s . x in CQC-WFF & s . y in CQC-WFF & not x in still_not-bound_in s & s . x = (PR . i) `1 & s . y = (PR . n) `1 ) ) ) & ( (PR . n) `2 = 3 & (PR . n) `2 = 4 implies ( ex p, q being Element of CQC-WFF st (PR . n) `1 = p => (('not' p) => q) iff ex p, q, r being Element of CQC-WFF st (PR . n) `1 = (p => q) => (('not' (q '&' r)) => ('not' (p '&' r))) ) ) & ( (PR . n) `2 = 3 & (PR . n) `2 = 5 implies ( ex p, q being Element of CQC-WFF st (PR . n) `1 = p => (('not' p) => q) iff ex p, q being Element of CQC-WFF st (PR . n) `1 = (p '&' q) => (q '&' p) ) ) & ( (PR . n) `2 = 3 & (PR . n) `2 = 6 implies ( ex p, q being Element of CQC-WFF st (PR . n) `1 = p => (('not' p) => q) iff ex p being Element of CQC-WFF ex x being bound_QC-variable st (PR . n) `1 = (All x,p) => p ) ) & ( (PR . n) `2 = 3 & (PR . n) `2 = 7 implies ( ex p, q being Element of CQC-WFF st (PR . n) `1 = p => (('not' p) => q) iff ex i, j being Element of NAT ex p, q being Element of CQC-WFF st
( 1 <= i & i < n & 1 <= j & j < i & p = (PR . j) `1 & q = (PR . n) `1 & (PR . i) `1 = p => q ) ) ) & ( (PR . n) `2 = 3 & (PR . n) `2 = 8 implies ( ex p, q being Element of CQC-WFF st (PR . n) `1 = p => (('not' p) => q) iff ex i being Element of NAT ex p, q being Element of CQC-WFF ex x being bound_QC-variable st
( 1 <= i & i < n & (PR . i) `1 = p => q & not x in still_not-bound_in p & (PR . n) `1 = p => (All x,q) ) ) ) & ( (PR . n) `2 = 3 & (PR . n) `2 = 9 implies ( ex p, q being Element of CQC-WFF st (PR . n) `1 = p => (('not' p) => q) iff ex i being Element of NAT ex x, y being bound_QC-variable ex s being QC-formula st
( 1 <= i & i < n & s . x in CQC-WFF & s . y in CQC-WFF & not x in still_not-bound_in s & s . x = (PR . i) `1 & s . y = (PR . n) `1 ) ) ) & ( (PR . n) `2 = 4 & (PR . n) `2 = 5 implies ( ex p, q, r being Element of CQC-WFF st (PR . n) `1 = (p => q) => (('not' (q '&' r)) => ('not' (p '&' r))) iff ex p, q being Element of CQC-WFF st (PR . n) `1 = (p '&' q) => (q '&' p) ) ) & ( (PR . n) `2 = 4 & (PR . n) `2 = 6 implies ( ex p, q, r being Element of CQC-WFF st (PR . n) `1 = (p => q) => (('not' (q '&' r)) => ('not' (p '&' r))) iff ex p being Element of CQC-WFF ex x being bound_QC-variable st (PR . n) `1 = (All x,p) => p ) ) & ( (PR . n) `2 = 4 & (PR . n) `2 = 7 implies ( ex p, q, r being Element of CQC-WFF st (PR . n) `1 = (p => q) => (('not' (q '&' r)) => ('not' (p '&' r))) iff ex i, j being Element of NAT ex p, q being Element of CQC-WFF st
( 1 <= i & i < n & 1 <= j & j < i & p = (PR . j) `1 & q = (PR . n) `1 & (PR . i) `1 = p => q ) ) ) & ( (PR . n) `2 = 4 & (PR . n) `2 = 8 implies ( ex p, q, r being Element of CQC-WFF st (PR . n) `1 = (p => q) => (('not' (q '&' r)) => ('not' (p '&' r))) iff ex i being Element of NAT ex p, q being Element of CQC-WFF ex x being bound_QC-variable st
( 1 <= i & i < n & (PR . i) `1 = p => q & not x in still_not-bound_in p & (PR . n) `1 = p => (All x,q) ) ) ) & ( (PR . n) `2 = 4 & (PR . n) `2 = 9 implies ( ex p, q, r being Element of CQC-WFF st (PR . n) `1 = (p => q) => (('not' (q '&' r)) => ('not' (p '&' r))) iff ex i being Element of NAT ex x, y being bound_QC-variable ex s being QC-formula st
( 1 <= i & i < n & s . x in CQC-WFF & s . y in CQC-WFF & not x in still_not-bound_in s & s . x = (PR . i) `1 & s . y = (PR . n) `1 ) ) ) & ( (PR . n) `2 = 5 & (PR . n) `2 = 6 implies ( ex p, q being Element of CQC-WFF st (PR . n) `1 = (p '&' q) => (q '&' p) iff ex p being Element of CQC-WFF ex x being bound_QC-variable st (PR . n) `1 = (All x,p) => p ) ) & ( (PR . n) `2 = 5 & (PR . n) `2 = 7 implies ( ex p, q being Element of CQC-WFF st (PR . n) `1 = (p '&' q) => (q '&' p) iff ex i, j being Element of NAT ex p, q being Element of CQC-WFF st
( 1 <= i & i < n & 1 <= j & j < i & p = (PR . j) `1 & q = (PR . n) `1 & (PR . i) `1 = p => q ) ) ) & ( (PR . n) `2 = 5 & (PR . n) `2 = 8 implies ( ex p, q being Element of CQC-WFF st (PR . n) `1 = (p '&' q) => (q '&' p) iff ex i being Element of NAT ex p, q being Element of CQC-WFF ex x being bound_QC-variable st
( 1 <= i & i < n & (PR . i) `1 = p => q & not x in still_not-bound_in p & (PR . n) `1 = p => (All x,q) ) ) ) & ( (PR . n) `2 = 5 & (PR . n) `2 = 9 implies ( ex p, q being Element of CQC-WFF st (PR . n) `1 = (p '&' q) => (q '&' p) iff ex i being Element of NAT ex x, y being bound_QC-variable ex s being QC-formula st
( 1 <= i & i < n & s . x in CQC-WFF & s . y in CQC-WFF & not x in still_not-bound_in s & s . x = (PR . i) `1 & s . y = (PR . n) `1 ) ) ) & ( (PR . n) `2 = 6 & (PR . n) `2 = 7 implies ( ex p being Element of CQC-WFF ex x being bound_QC-variable st (PR . n) `1 = (All x,p) => p iff ex i, j being Element of NAT ex p, q being Element of CQC-WFF st
( 1 <= i & i < n & 1 <= j & j < i & p = (PR . j) `1 & q = (PR . n) `1 & (PR . i) `1 = p => q ) ) ) & ( (PR . n) `2 = 6 & (PR . n) `2 = 8 implies ( ex p being Element of CQC-WFF ex x being bound_QC-variable st (PR . n) `1 = (All x,p) => p iff ex i being Element of NAT ex p, q being Element of CQC-WFF ex x being bound_QC-variable st
( 1 <= i & i < n & (PR . i) `1 = p => q & not x in still_not-bound_in p & (PR . n) `1 = p => (All x,q) ) ) ) & ( (PR . n) `2 = 6 & (PR . n) `2 = 9 implies ( ex p being Element of CQC-WFF ex x being bound_QC-variable st (PR . n) `1 = (All x,p) => p iff ex i being Element of NAT ex x, y being bound_QC-variable ex s being QC-formula st
( 1 <= i & i < n & s . x in CQC-WFF & s . y in CQC-WFF & not x in still_not-bound_in s & s . x = (PR . i) `1 & s . y = (PR . n) `1 ) ) ) & ( (PR . n) `2 = 7 & (PR . n) `2 = 8 implies ( ex i, j being Element of NAT ex p, q being Element of CQC-WFF st
( 1 <= i & i < n & 1 <= j & j < i & p = (PR . j) `1 & q = (PR . n) `1 & (PR . i) `1 = p => q ) iff ex i being Element of NAT ex p, q being Element of CQC-WFF ex x being bound_QC-variable st
( 1 <= i & i < n & (PR . i) `1 = p => q & not x in still_not-bound_in p & (PR . n) `1 = p => (All x,q) ) ) ) & ( (PR . n) `2 = 7 & (PR . n) `2 = 9 implies ( ex i, j being Element of NAT ex p, q being Element of CQC-WFF st
( 1 <= i & i < n & 1 <= j & j < i & p = (PR . j) `1 & q = (PR . n) `1 & (PR . i) `1 = p => q ) iff ex i being Element of NAT ex x, y being bound_QC-variable ex s being QC-formula st
( 1 <= i & i < n & s . x in CQC-WFF & s . y in CQC-WFF & not x in still_not-bound_in s & s . x = (PR . i) `1 & s . y = (PR . n) `1 ) ) ) & ( (PR . n) `2 = 8 & (PR . n) `2 = 9 implies ( ex i being Element of NAT ex p, q being Element of CQC-WFF ex x being bound_QC-variable st
( 1 <= i & i < n & (PR . i) `1 = p => q & not x in still_not-bound_in p & (PR . n) `1 = p => (All x,q) ) iff ex i being Element of NAT ex x, y being bound_QC-variable ex s being QC-formula st
( 1 <= i & i < n & s . x in CQC-WFF & s . y in CQC-WFF & not x in still_not-bound_in s & s . x = (PR . i) `1 & s . y = (PR . n) `1 ) ) ) )
;
end;

:: deftheorem Def4 defines is_a_correct_step_wrt CQC_THE1:def 4 :
for PR being FinSequence of [:CQC-WFF ,Proof_Step_Kinds :]
for n being Element of NAT
for X being Subset of CQC-WFF holds
( ( (PR . n) `2 = 0 implies ( PR,n is_a_correct_step_wrt X iff (PR . n) `1 in X ) ) & ( (PR . n) `2 = 1 implies ( PR,n is_a_correct_step_wrt X iff (PR . n) `1 = VERUM ) ) & ( (PR . n) `2 = 2 implies ( PR,n is_a_correct_step_wrt X iff ex p being Element of CQC-WFF st (PR . n) `1 = (('not' p) => p) => p ) ) & ( (PR . n) `2 = 3 implies ( PR,n is_a_correct_step_wrt X iff ex p, q being Element of CQC-WFF st (PR . n) `1 = p => (('not' p) => q) ) ) & ( (PR . n) `2 = 4 implies ( PR,n is_a_correct_step_wrt X iff ex p, q, r being Element of CQC-WFF st (PR . n) `1 = (p => q) => (('not' (q '&' r)) => ('not' (p '&' r))) ) ) & ( (PR . n) `2 = 5 implies ( PR,n is_a_correct_step_wrt X iff ex p, q being Element of CQC-WFF st (PR . n) `1 = (p '&' q) => (q '&' p) ) ) & ( (PR . n) `2 = 6 implies ( PR,n is_a_correct_step_wrt X iff ex p being Element of CQC-WFF ex x being bound_QC-variable st (PR . n) `1 = (All x,p) => p ) ) & ( (PR . n) `2 = 7 implies ( PR,n is_a_correct_step_wrt X iff ex i, j being Element of NAT ex p, q being Element of CQC-WFF st
( 1 <= i & i < n & 1 <= j & j < i & p = (PR . j) `1 & q = (PR . n) `1 & (PR . i) `1 = p => q ) ) ) & ( (PR . n) `2 = 8 implies ( PR,n is_a_correct_step_wrt X iff ex i being Element of NAT ex p, q being Element of CQC-WFF ex x being bound_QC-variable st
( 1 <= i & i < n & (PR . i) `1 = p => q & not x in still_not-bound_in p & (PR . n) `1 = p => (All x,q) ) ) ) & ( (PR . n) `2 = 9 implies ( PR,n is_a_correct_step_wrt X iff ex i being Element of NAT ex x, y being bound_QC-variable ex s being QC-formula st
( 1 <= i & i < n & s . x in CQC-WFF & s . y in CQC-WFF & not x in still_not-bound_in s & s . x = (PR . i) `1 & s . y = (PR . n) `1 ) ) ) );

definition
let X be Subset of CQC-WFF ;
let f be FinSequence of [:CQC-WFF ,Proof_Step_Kinds :];
pred c2 is_a_proof_wrt c1 means :Def5: :: CQC_THE1:def 5
( f <> {} & ( for n being Element of NAT st 1 <= n & n <= len f holds
f,n is_a_correct_step_wrt X ) );
end;

:: deftheorem Def5 defines is_a_proof_wrt CQC_THE1:def 5 :
for X being Subset of CQC-WFF
for f being FinSequence of [:CQC-WFF ,Proof_Step_Kinds :] holds
( f is_a_proof_wrt X iff ( f <> {} & ( for n being Element of NAT st 1 <= n & n <= len f holds
f,n is_a_correct_step_wrt X ) ) );

theorem Th46: :: CQC_THE1:46
canceled;

theorem Th47: :: CQC_THE1:47
canceled;

theorem Th48: :: CQC_THE1:48
canceled;

theorem Th49: :: CQC_THE1:49
canceled;

theorem Th50: :: CQC_THE1:50
canceled;

theorem Th51: :: CQC_THE1:51
canceled;

theorem Th52: :: CQC_THE1:52
canceled;

theorem Th53: :: CQC_THE1:53
canceled;

theorem Th54: :: CQC_THE1:54
canceled;

theorem Th55: :: CQC_THE1:55
canceled;

theorem Th56: :: CQC_THE1:56
canceled;

theorem Th57: :: CQC_THE1:57
for X being Subset of CQC-WFF
for f being FinSequence of [:CQC-WFF ,Proof_Step_Kinds :] st f is_a_proof_wrt X holds
rng f <> {}
proof end;

theorem Th58: :: CQC_THE1:58
for X being Subset of CQC-WFF
for f being FinSequence of [:CQC-WFF ,Proof_Step_Kinds :] st f is_a_proof_wrt X holds
1 <= len f
proof end;

theorem Th59: :: CQC_THE1:59
for X being Subset of CQC-WFF
for f being FinSequence of [:CQC-WFF ,Proof_Step_Kinds :] holds
( not f is_a_proof_wrt X or (f . 1) `2 = 0 or (f . 1) `2 = 1 or (f . 1) `2 = 2 or (f . 1) `2 = 3 or (f . 1) `2 = 4 or (f . 1) `2 = 5 or (f . 1) `2 = 6 )
proof end;

theorem Th60: :: CQC_THE1:60
for n being Element of NAT
for X being Subset of CQC-WFF
for f, g being FinSequence of [:CQC-WFF ,Proof_Step_Kinds :] st 1 <= n & n <= len f holds
( f,n is_a_correct_step_wrt X iff f ^ g,n is_a_correct_step_wrt X )
proof end;

theorem Th61: :: CQC_THE1:61
for n being Element of NAT
for X being Subset of CQC-WFF
for g, f being FinSequence of [:CQC-WFF ,Proof_Step_Kinds :] st 1 <= n & n <= len g & g,n is_a_correct_step_wrt X holds
f ^ g,n + (len f) is_a_correct_step_wrt X
proof end;

theorem Th62: :: CQC_THE1:62
for X being Subset of CQC-WFF
for f, g being FinSequence of [:CQC-WFF ,Proof_Step_Kinds :] st f is_a_proof_wrt X & g is_a_proof_wrt X holds
f ^ g is_a_proof_wrt X
proof end;

theorem Th63: :: CQC_THE1:63
for X, Y being Subset of CQC-WFF
for f being FinSequence of [:CQC-WFF ,Proof_Step_Kinds :] st f is_a_proof_wrt X & X c= Y holds
f is_a_proof_wrt Y
proof end;

theorem Th64: :: CQC_THE1:64
for l being Element of NAT
for X being Subset of CQC-WFF
for f being FinSequence of [:CQC-WFF ,Proof_Step_Kinds :] st f is_a_proof_wrt X & 1 <= l & l <= len f holds
(f . l) `1 in Cn X
proof end;

definition
let f be FinSequence of [:CQC-WFF ,Proof_Step_Kinds :];
assume E29: f <> {} ;
func Effect c1 -> Element of CQC-WFF equals :Def6: :: CQC_THE1:def 6
(f . (len f)) `1 ;
coherence
(f . (len f)) `1 is Element of CQC-WFF
proof end;
end;

:: deftheorem Def6 defines Effect CQC_THE1:def 6 :
for f being FinSequence of [:CQC-WFF ,Proof_Step_Kinds :] st f <> {} holds
Effect f = (f . (len f)) `1 ;

theorem Th65: :: CQC_THE1:65
canceled;

theorem Th66: :: CQC_THE1:66
for X being Subset of CQC-WFF
for f being FinSequence of [:CQC-WFF ,Proof_Step_Kinds :] st f is_a_proof_wrt X holds
Effect f in Cn X
proof end;

Lemma103: for X being Subset of CQC-WFF holds { p where p is Element of CQC-WFF : ex f being FinSequence of [:CQC-WFF ,Proof_Step_Kinds :] st
( f is_a_proof_wrt X & Effect f = p )
}
c= CQC-WFF
proof end;

theorem Th67: :: CQC_THE1:67
for X being Subset of CQC-WFF holds X c= { F where F is Element of CQC-WFF : ex f being FinSequence of [:CQC-WFF ,Proof_Step_Kinds :] st
( f is_a_proof_wrt X & Effect f = F )
}
proof end;

Lemma106: for X being Subset of CQC-WFF holds VERUM in { F where F is Element of CQC-WFF : ex f being FinSequence of [:CQC-WFF ,Proof_Step_Kinds :] st
( f is_a_proof_wrt X & Effect f = F )
}

proof end;

Lemma107: for p being Element of CQC-WFF
for X being Subset of CQC-WFF holds (('not' p) => p) => p in { F where F is Element of CQC-WFF : ex f being FinSequence of [:CQC-WFF ,Proof_Step_Kinds :] st
( f is_a_proof_wrt X & Effect f = F )
}

proof end;

Lemma108: for p, q being Element of CQC-WFF
for X being Subset of CQC-WFF holds p => (('not' p) => q) in { F where F is Element of CQC-WFF : ex f being FinSequence of [:CQC-WFF ,Proof_Step_Kinds :] st
( f is_a_proof_wrt X & Effect f = F )
}

proof end;

Lemma109: for p, q, r being Element of CQC-WFF
for X being Subset of CQC-WFF holds (p => q) => (('not' (q '&' r)) => ('not' (p '&' r))) in { F where F is Element of CQC-WFF : ex f being FinSequence of [:CQC-WFF ,Proof_Step_Kinds :] st
( f is_a_proof_wrt X & Effect f = F )
}

proof end;

Lemma110: for p, q being Element of CQC-WFF
for X being Subset of CQC-WFF holds (p '&' q) => (q '&' p) in { F where F is Element of CQC-WFF : ex f being FinSequence of [:CQC-WFF ,Proof_Step_Kinds :] st
( f is_a_proof_wrt X & Effect f = F )
}

proof end;

Lemma111: for p, q being Element of CQC-WFF
for X being Subset of CQC-WFF st p in { F where F is Element of CQC-WFF : ex f being FinSequence of [:CQC-WFF ,Proof_Step_Kinds :] st
( f is_a_proof_wrt X & Effect f = F )
}
& p => q in { G where G is Element of CQC-WFF : ex f being FinSequence of [:CQC-WFF ,Proof_Step_Kinds :] st
( f is_a_proof_wrt X & Effect f = G )
}
holds
q in { H where H is Element of CQC-WFF : ex f being FinSequence of [:CQC-WFF ,Proof_Step_Kinds :] st
( f is_a_proof_wrt X & Effect f = H )
}

proof end;

Lemma114: for p being Element of CQC-WFF
for x being bound_QC-variable
for X being Subset of CQC-WFF holds (All x,p) => p in { F where F is Element of CQC-WFF : ex f being FinSequence of [:CQC-WFF ,Proof_Step_Kinds :] st
( f is_a_proof_wrt X & Effect f = F )
}

proof end;

Lemma115: for p, q being Element of CQC-WFF
for x being bound_QC-variable
for X being Subset of CQC-WFF st p => q in { F where F is Element of CQC-WFF : ex f being FinSequence of [:CQC-WFF ,Proof_Step_Kinds :] st
( f is_a_proof_wrt X & Effect f = F )
}
& not x in still_not-bound_in p holds
p => (All x,q) in { G where G is Element of CQC-WFF : ex f being FinSequence of [:CQC-WFF ,Proof_Step_Kinds :] st
( f is_a_proof_wrt X & Effect f = G )
}

proof end;

Lemma116: for s being QC-formula
for x, y being bound_QC-variable
for X being Subset of CQC-WFF st s . x in CQC-WFF & s . y in CQC-WFF & not x in still_not-bound_in s & s . x in { F where F is Element of CQC-WFF : ex f being FinSequence of [:CQC-WFF ,Proof_Step_Kinds :] st
( f is_a_proof_wrt X & Effect f = F )
}
holds
s . y in { G where G is Element of CQC-WFF : ex f being FinSequence of [:CQC-WFF ,Proof_Step_Kinds :] st
( f is_a_proof_wrt X & Effect f = G )
}

proof end;

theorem Th68: :: CQC_THE1:68
for Y, X being Subset of CQC-WFF st Y = { p where p is Element of CQC-WFF : ex f being FinSequence of [:CQC-WFF ,Proof_Step_Kinds :] st
( f is_a_proof_wrt X & Effect f = p )
}
holds
Y is_a_theory
proof end;

Lemma118: for X being Subset of CQC-WFF holds { p where p is Element of CQC-WFF : ex f being FinSequence of [:CQC-WFF ,Proof_Step_Kinds :] st
( f is_a_proof_wrt X & Effect f = p )
}
c= Cn X
proof end;

theorem Th69: :: CQC_THE1:69
for X being Subset of CQC-WFF holds { p where p is Element of CQC-WFF : ex f being FinSequence of [:CQC-WFF ,Proof_Step_Kinds :] st
( f is_a_proof_wrt X & Effect f = p )
}
= Cn X
proof end;

theorem Th70: :: CQC_THE1:70
for X being Subset of CQC-WFF
for p being Element of CQC-WFF holds
( p in Cn X iff ex f being FinSequence of [:CQC-WFF ,Proof_Step_Kinds :] st
( f is_a_proof_wrt X & Effect f = p ) )
proof end;

theorem Th71: :: CQC_THE1:71
for X being Subset of CQC-WFF
for p being Element of CQC-WFF st p in Cn X holds
ex Y being Subset of CQC-WFF st
( Y c= X & Y is finite & p in Cn Y )
proof end;

definition
canceled;
func TAUT -> Subset of CQC-WFF equals :: CQC_THE1:def 8
Cn ({} CQC-WFF );
correctness
coherence
Cn ({} CQC-WFF ) is Subset of CQC-WFF
;
;
end;

:: deftheorem Def7 CQC_THE1:def 7 :
canceled;

:: deftheorem Def8 defines TAUT CQC_THE1:def 8 :
TAUT = Cn ({} CQC-WFF );

theorem Th72: :: CQC_THE1:72
canceled;

theorem Th73: :: CQC_THE1:73
canceled;

theorem Th74: :: CQC_THE1:74
for T being Subset of CQC-WFF st T is_a_theory holds
TAUT c= T
proof end;

theorem Th75: :: CQC_THE1:75
for X being Subset of CQC-WFF holds TAUT c= Cn X
proof end;

theorem Th76: :: CQC_THE1:76
TAUT is_a_theory by ;

theorem Th77: :: CQC_THE1:77
VERUM in TAUT by , ;

theorem Th78: :: CQC_THE1:78
for p being Element of CQC-WFF holds (('not' p) => p) => p in TAUT by , ;

theorem Th79: :: CQC_THE1:79
for p, q being Element of CQC-WFF holds p => (('not' p) => q) in TAUT by , ;

theorem Th80: :: CQC_THE1:80
for p, q, r being Element of CQC-WFF holds (p => q) => (('not' (q '&' r)) => ('not' (p '&' r))) in TAUT by , ;

theorem Th81: :: CQC_THE1:81
for p, q being Element of CQC-WFF holds (p '&' q) => (q '&' p) in TAUT by , ;

theorem Th82: :: CQC_THE1:82
for p, q being Element of CQC-WFF st p in TAUT & p => q in TAUT holds
q in TAUT by , ;

theorem Th83: :: CQC_THE1:83
for p being Element of CQC-WFF
for x being bound_QC-variable holds (All x,p) => p in TAUT by ;

theorem Th84: :: CQC_THE1:84
for p, q being Element of CQC-WFF
for x being bound_QC-variable st p => q in TAUT & not x in still_not-bound_in p holds
p => (All x,q) in TAUT by ;

theorem Th85: :: CQC_THE1:85
for s being QC-formula
for x, y being bound_QC-variable st s . x in CQC-WFF & s . y in CQC-WFF & not x in still_not-bound_in s & s . x in TAUT holds
s . y in TAUT by ;

definition
let X be Subset of CQC-WFF ;
let s be QC-formula;
pred c1 |- c2 means :Def9: :: CQC_THE1:def 9
s in Cn X;
end;

:: deftheorem Def9 defines |- CQC_THE1:def 9 :
for X being Subset of CQC-WFF
for s being QC-formula holds
( X |- s iff s in Cn X );

theorem Th86: :: CQC_THE1:86
canceled;

theorem Th87: :: CQC_THE1:87
for X being Subset of CQC-WFF holds X |- VERUM
proof end;

theorem Th88: :: CQC_THE1:88
for X being Subset of CQC-WFF
for p being Element of CQC-WFF holds X |- (('not' p) => p) => p
proof end;

theorem Th89: :: CQC_THE1:89
for X being Subset of CQC-WFF
for p, q being Element of CQC-WFF holds X |- p => (('not' p) => q)
proof end;

theorem Th90: :: CQC_THE1:90
for X being Subset of CQC-WFF
for p, q, r being Element of CQC-WFF holds X |- (p => q) => (('not' (q '&' r)) => ('not' (p '&' r)))
proof end;

theorem Th91: :: CQC_THE1:91
for X being Subset of CQC-WFF
for p, q being Element of CQC-WFF holds X |- (p '&' q) => (q '&' p)
proof end;

theorem Th92: :: CQC_THE1:92
for X being Subset of CQC-WFF
for p, q being Element of CQC-WFF st X |- p & X |- p => q holds
X |- q
proof end;

theorem Th93: :: CQC_THE1:93
for X being Subset of CQC-WFF
for p being Element of CQC-WFF
for x being bound_QC-variable holds X |- (All x,p) => p
proof end;

theorem Th94: :: CQC_THE1:94
for X being Subset of CQC-WFF
for p, q being Element of CQC-WFF
for x being bound_QC-variable st X |- p => q & not x in still_not-bound_in p holds
X |- p => (All x,q)
proof end;

theorem Th95: :: CQC_THE1:95
for X being Subset of CQC-WFF
for s being QC-formula
for x, y being bound_QC-variable st s . x in CQC-WFF & s . y in CQC-WFF & not x in still_not-bound_in s & X |- s . x holds
X |- s . y
proof end;

definition
let s be QC-formula;
attr a1 is valid means :Def10: :: CQC_THE1:def 10
{} CQC-WFF |- s;
end;

:: deftheorem Def10 defines valid CQC_THE1:def 10 :
for s being QC-formula holds
( s is valid iff {} CQC-WFF |- s );

notation
let s be QC-formula;
synonym |- c1 for valid c1;
end;

Lemma128: for s being QC-formula holds
( |- s iff s in TAUT )
proof end;

definition
let s be QC-formula;
redefine attr a1 is valid means :: CQC_THE1:def 11
s in TAUT ;
compatibility
( s is valid iff s in TAUT )
by ;
end;

:: deftheorem Def11 defines valid CQC_THE1:def 11 :
for s being QC-formula holds
( s is valid iff s in TAUT );

theorem Th96: :: CQC_THE1:96
canceled;

theorem Th97: :: CQC_THE1:97
canceled;

theorem Th98: :: CQC_THE1:98
for X being Subset of CQC-WFF
for p being Element of CQC-WFF st |- p holds
X |- p
proof end;

theorem Th99: :: CQC_THE1:99
|- VERUM by , ;

theorem Th100: :: CQC_THE1:100
for p being Element of CQC-WFF holds |- (('not' p) => p) => p
proof end;

theorem Th101: :: CQC_THE1:101
for p, q being Element of CQC-WFF holds |- p => (('not' p) => q)
proof end;

theorem Th102: :: CQC_THE1:102
for p, q, r being Element of CQC-WFF holds |- (p => q) => (('not' (q '&' r)) => ('not' (p '&' r)))
proof end;

theorem Th103: :: CQC_THE1:103
for p, q being Element of CQC-WFF holds |- (p '&' q) => (q '&' p)
proof end;

theorem Th104: :: CQC_THE1:104
for p, q being Element of CQC-WFF st |- p & |- p => q holds
|- q
proof end;

theorem Th105: :: CQC_THE1:105
for p being Element of CQC-WFF
for x being bound_QC-variable holds |- (All x,p) => p
proof end;

theorem Th106: :: CQC_THE1:106
for p, q being Element of CQC-WFF
for x being bound_QC-variable st |- p => q & not x in still_not-bound_in p holds
|- p => (All x,q)
proof end;

theorem Th107: :: CQC_THE1:107
for s being QC-formula
for x, y being bound_QC-variable st s . x in CQC-WFF & s . y in CQC-WFF & not x in still_not-bound_in s & |- s . x holds
|- s . y
proof end;