Article GOEDELCP, MML version 4.99.1005

:: GOEDELCP:attrnot 1 => GOEDELCP:attr 1
definition
  let a1 be Element of bool CQC-WFF;
  attr a1 is negation_faithful means
    for b1 being Element of CQC-WFF
          st not a1 |- b1
       holds a1 |- 'not' b1;
end;

:: GOEDELCP:dfs 1
definiens
  let a1 be Element of bool CQC-WFF;
To prove
     a1 is negation_faithful
it is sufficient to prove
  thus for b1 being Element of CQC-WFF
          st not a1 |- b1
       holds a1 |- 'not' b1;

:: GOEDELCP:def 1
theorem
for b1 being Element of bool CQC-WFF holds
      b1 is negation_faithful
   iff
      for b2 being Element of CQC-WFF
            st not b1 |- b2
         holds b1 |- 'not' b2;

:: GOEDELCP:attrnot 2 => GOEDELCP:attr 2
definition
  let a1 be Element of bool CQC-WFF;
  attr a1 is with_examples means
    for b1 being Element of bound_QC-variables
    for b2 being Element of CQC-WFF holds
       ex b3 being Element of bound_QC-variables st
          a1 |- ('not' Ex(b1,b2)) 'or' (b2 .(b1,b3));
end;

:: GOEDELCP:dfs 2
definiens
  let a1 be Element of bool CQC-WFF;
To prove
     a1 is with_examples
it is sufficient to prove
  thus for b1 being Element of bound_QC-variables
    for b2 being Element of CQC-WFF holds
       ex b3 being Element of bound_QC-variables st
          a1 |- ('not' Ex(b1,b2)) 'or' (b2 .(b1,b3));

:: GOEDELCP:def 2
theorem
for b1 being Element of bool CQC-WFF holds
      b1 is with_examples
   iff
      for b2 being Element of bound_QC-variables
      for b3 being Element of CQC-WFF holds
         ex b4 being Element of bound_QC-variables st
            b1 |- ('not' Ex(b2,b3)) 'or' (b3 .(b2,b4));

:: GOEDELCP:th 1
theorem
for b1 being Element of CQC-WFF
for b2 being Consistent Element of bool CQC-WFF
      st b2 is negation_faithful
   holds    b2 |- b1
   iff
      not b2 |- 'not' b1;

:: GOEDELCP:th 2
theorem
for b1, b2 being Element of CQC-WFF
for b3 being FinSequence of CQC-WFF
      st |- b3 ^ <*('not' b1) 'or' b2*> &
         |- b3 ^ <*b1*>
   holds |- b3 ^ <*b2*>;

:: GOEDELCP:th 3
theorem
for b1 being Element of bool CQC-WFF
for b2 being Element of CQC-WFF
for b3 being Element of bound_QC-variables
      st b1 is with_examples
   holds    b1 |- Ex(b3,b2)
   iff
      ex b4 being Element of bound_QC-variables st
         b1 |- b2 .(b3,b4);

:: GOEDELCP:th 4
theorem
for b1 being Element of CQC-WFF
for b2 being Consistent Element of bool CQC-WFF
for b3 being Henkin_interpretation of b2
      st (b2 is negation_faithful & b2 is with_examples implies    (b3,valH |= b1
         iff
            b2 |- b1)) &
         b2 is negation_faithful &
         b2 is with_examples
   holds    b3,valH |= 'not' b1
   iff
      b2 |- 'not' b1;

:: GOEDELCP:th 5
theorem
for b1, b2 being Element of CQC-WFF
for b3 being FinSequence of CQC-WFF
      st |- b3 ^ <*b1*> & |- b3 ^ <*b2*>
   holds |- b3 ^ <*b1 '&' b2*>;

:: GOEDELCP:th 6
theorem
for b1 being Element of bool CQC-WFF
for b2, b3 being Element of CQC-WFF holds
   b1 |- b2 & b1 |- b3
iff
   b1 |- b2 '&' b3;

:: GOEDELCP:th 7
theorem
for b1, b2 being Element of CQC-WFF
for b3 being Consistent Element of bool CQC-WFF
for b4 being Henkin_interpretation of b3
      st (b3 is negation_faithful & b3 is with_examples implies    (b4,valH |= b1
         iff
            b3 |- b1)) &
         (b3 is negation_faithful & b3 is with_examples implies    (b4,valH |= b2
         iff
            b3 |- b2)) &
         b3 is negation_faithful &
         b3 is with_examples
   holds    b4,valH |= b1 '&' b2
   iff
      b3 |- b1 '&' b2;

:: GOEDELCP:th 8
theorem
for b1 being Consistent Element of bool CQC-WFF
for b2 being Henkin_interpretation of b1
for b3 being Element of CQC-WFF
      st QuantNbr b3 <= 0 & b1 is negation_faithful & b1 is with_examples
   holds    b2,valH |= b3
   iff
      b1 |- b3;

:: GOEDELCP:th 9
theorem
for b1 being Element of CQC-WFF
for b2 being Element of bound_QC-variables
for b3 being non empty set
for b4 being interpretation of b3
for b5 being Element of Valuations_in b3 holds
      b4,b5 |= Ex(b2,b1)
   iff
      ex b6 being Element of b3 st
         b4,b5 . (b2 | b6) |= b1;

:: GOEDELCP:th 10
theorem
for b1 being Element of CQC-WFF
for b2 being Element of bound_QC-variables
for b3 being Consistent Element of bool CQC-WFF
for b4 being Henkin_interpretation of b3 holds
      b4,valH |= Ex(b2,b1)
   iff
      ex b5 being Element of bound_QC-variables st
         b4,valH |= b1 .(b2,b5);

:: GOEDELCP:th 11
theorem
for b1 being Element of CQC-WFF
for b2 being Element of bound_QC-variables
for b3 being non empty set
for b4 being interpretation of b3
for b5 being Element of Valuations_in b3 holds
      b4,b5 |= 'not' Ex(b2,'not' b1)
   iff
      b4,b5 |= All(b2,b1);

:: GOEDELCP:th 12
theorem
for b1 being Element of bool CQC-WFF
for b2 being Element of CQC-WFF
for b3 being Element of bound_QC-variables holds
      b1 |- 'not' Ex(b3,'not' b2)
   iff
      b1 |- All(b3,b2);

:: GOEDELCP:th 13
theorem
for b1 being Element of CQC-WFF
for b2 being Element of bound_QC-variables holds
   QuantNbr Ex(b2,b1) = (QuantNbr b1) + 1;

:: GOEDELCP:th 14
theorem
for b1 being Element of CQC-WFF
for b2, b3 being Element of bound_QC-variables holds
QuantNbr b1 = QuantNbr (b1 .(b2,b3));

:: GOEDELCP:th 15
theorem
for b1 being Consistent Element of bool CQC-WFF
for b2 being Henkin_interpretation of b1
for b3 being Element of CQC-WFF
      st QuantNbr b3 = 1 & b1 is negation_faithful & b1 is with_examples
   holds    b2,valH |= b3
   iff
      b1 |- b3;

:: GOEDELCP:th 16
theorem
for b1 being Consistent Element of bool CQC-WFF
for b2 being Henkin_interpretation of b1
for b3 being Element of NAT
   st for b4 being Element of CQC-WFF
           st QuantNbr b4 <= b3 & b1 is negation_faithful & b1 is with_examples
        holds    b2,valH |= b4
        iff
           b1 |- b4
for b4 being Element of CQC-WFF
      st QuantNbr b4 <= b3 + 1 & b1 is negation_faithful & b1 is with_examples
   holds    b2,valH |= b4
   iff
      b1 |- b4;

:: GOEDELCP:th 17
theorem
for b1 being Consistent Element of bool CQC-WFF
for b2 being Henkin_interpretation of b1
for b3 being Element of CQC-WFF
      st b1 is negation_faithful & b1 is with_examples
   holds    b2,valH |= b3
   iff
      b1 |- b3;

:: GOEDELCP:th 18
theorem
QC-WFF is countable;

:: GOEDELCP:funcnot 1 => GOEDELCP:func 1
definition
  func ExCl -> Element of bool CQC-WFF means
    for b1 being set holds
          b1 in it
       iff
          ex b2 being Element of bound_QC-variables st
             ex b3 being Element of CQC-WFF st
                b1 = Ex(b2,b3);
end;

:: GOEDELCP:def 3
theorem
for b1 being Element of bool CQC-WFF holds
      b1 = ExCl
   iff
      for b2 being set holds
            b2 in b1
         iff
            ex b3 being Element of bound_QC-variables st
               ex b4 being Element of CQC-WFF st
                  b2 = Ex(b3,b4);

:: GOEDELCP:th 19
theorem
CQC-WFF is countable;

:: GOEDELCP:th 20
theorem
ExCl is not empty & ExCl is countable;

:: GOEDELCP:funcnot 2 => GOEDELCP:func 2
definition
  let a1 be Element of QC-WFF;
  assume a1 is existential;
  func Ex-bound_in A1 -> Element of bound_QC-variables means
    ex b1 being Element of QC-WFF st
       a1 = Ex(it,b1);
end;

:: GOEDELCP:def 4
theorem
for b1 being Element of QC-WFF
   st b1 is existential
for b2 being Element of bound_QC-variables holds
      b2 = Ex-bound_in b1
   iff
      ex b3 being Element of QC-WFF st
         b1 = Ex(b2,b3);

:: GOEDELCP:funcnot 3 => GOEDELCP:func 3
definition
  let a1 be Element of CQC-WFF;
  assume a1 is existential;
  func Ex-the_scope_of A1 -> Element of CQC-WFF means
    ex b1 being Element of bound_QC-variables st
       a1 = Ex(b1,it);
end;

:: GOEDELCP:def 5
theorem
for b1 being Element of CQC-WFF
   st b1 is existential
for b2 being Element of CQC-WFF holds
      b2 = Ex-the_scope_of b1
   iff
      ex b3 being Element of bound_QC-variables st
         b1 = Ex(b3,b2);

:: GOEDELCP:funcnot 4 => GOEDELCP:func 4
definition
  let a1 be Function-like quasi_total Relation of NAT,CQC-WFF;
  let a2 be Element of NAT;
  func bound_in(A1,A2) -> Element of bound_QC-variables means
    for b1 being Element of CQC-WFF
          st b1 = a1 . a2
       holds it = Ex-bound_in b1;
end;

:: GOEDELCP:def 6
theorem
for b1 being Function-like quasi_total Relation of NAT,CQC-WFF
for b2 being Element of NAT
for b3 being Element of bound_QC-variables holds
      b3 = bound_in(b1,b2)
   iff
      for b4 being Element of CQC-WFF
            st b4 = b1 . b2
         holds b3 = Ex-bound_in b4;

:: GOEDELCP:funcnot 5 => GOEDELCP:func 5
definition
  let a1 be Function-like quasi_total Relation of NAT,CQC-WFF;
  let a2 be Element of NAT;
  func the_scope_of(A1,A2) -> Element of CQC-WFF means
    for b1 being Element of CQC-WFF
          st b1 = a1 . a2
       holds it = Ex-the_scope_of b1;
end;

:: GOEDELCP:def 7
theorem
for b1 being Function-like quasi_total Relation of NAT,CQC-WFF
for b2 being Element of NAT
for b3 being Element of CQC-WFF holds
      b3 = the_scope_of(b1,b2)
   iff
      for b4 being Element of CQC-WFF
            st b4 = b1 . b2
         holds b3 = Ex-the_scope_of b4;

:: GOEDELCP:funcnot 6 => GOEDELCP:func 6
definition
  let a1 be Element of bool CQC-WFF;
  func still_not-bound_in A1 -> Element of bool bound_QC-variables equals
    union {still_not-bound_in b1 where b1 is Element of CQC-WFF: b1 in a1};
end;

:: GOEDELCP:def 8
theorem
for b1 being Element of bool CQC-WFF holds
   still_not-bound_in b1 = union {still_not-bound_in b2 where b2 is Element of CQC-WFF: b2 in b1};

:: GOEDELCP:th 21
theorem
for b1 being Element of bool CQC-WFF
for b2 being Element of CQC-WFF
      st b2 in b1
   holds b1 |- b2;

:: GOEDELCP:th 22
theorem
for b1 being Element of CQC-WFF
for b2 being Element of bound_QC-variables holds
   Ex-bound_in Ex(b2,b1) = b2 & Ex-the_scope_of Ex(b2,b1) = b1;

:: GOEDELCP:th 23
theorem
for b1 being Element of bool CQC-WFF holds
   b1 |- VERUM;

:: GOEDELCP:th 24
theorem
for b1 being Element of bool CQC-WFF holds
      b1 |- 'not' VERUM
   iff
      b1 is Inconsistent;

:: GOEDELCP:th 25
theorem
for b1 being Element of CQC-WFF
for b2, b3 being FinSequence of CQC-WFF
      st 0 < len b2 & |- b2 ^ <*b1*>
   holds |- (((Ant b2) ^ b3) ^ <*Suc b2*>) ^ <*b1*>;

:: GOEDELCP:th 26
theorem
for b1 being Element of CQC-WFF holds
   still_not-bound_in {b1} = still_not-bound_in b1;

:: GOEDELCP:th 27
theorem
for b1, b2 being Element of bool CQC-WFF holds
still_not-bound_in (b1 \/ b2) = (still_not-bound_in b1) \/ still_not-bound_in b2;

:: GOEDELCP:th 28
theorem
for b1 being Element of bool bound_QC-variables
      st b1 is finite
   holds ex b2 being Element of bound_QC-variables st
      not b2 in b1;

:: GOEDELCP:th 29
theorem
for b1, b2 being Element of bool CQC-WFF
      st b1 c= b2
   holds still_not-bound_in b1 c= still_not-bound_in b2;

:: GOEDELCP:th 30
theorem
for b1 being FinSequence of CQC-WFF holds
   still_not-bound_in rng b1 = still_not-bound_in b1;

:: GOEDELCP:th 31
theorem
for b1 being Consistent Element of bool CQC-WFF
      st still_not-bound_in b1 is finite
   holds ex b2 being Consistent Element of bool CQC-WFF st
      b1 c= b2 & b2 is with_examples;

:: GOEDELCP:th 32
theorem
for b1, b2 being Element of bool CQC-WFF
for b3 being Element of CQC-WFF
      st b1 |- b3 & b1 c= b2
   holds b2 |- b3;

:: GOEDELCP:th 33
theorem
for b1 being Consistent Element of bool CQC-WFF
      st b1 is with_examples
   holds ex b2 being Consistent Element of bool CQC-WFF st
      b1 c= b2 & b2 is negation_faithful & b2 is with_examples;

:: GOEDELCP:th 34
theorem
for b1 being Consistent Element of bool CQC-WFF
      st still_not-bound_in b1 is finite
   holds ex b2 being Consistent Element of bool CQC-WFF st
      ex b3 being Henkin_interpretation of b2 st
         b3,valH |= b1;

:: GOEDELCP:th 35
theorem
for b1, b2 being Element of bool CQC-WFF
for b3 being non empty set
for b4 being interpretation of b3
for b5 being Element of Valuations_in b3
      st b4,b5 |= b1 & b2 c= b1
   holds b4,b5 |= b2;

:: GOEDELCP:th 36
theorem
for b1 being Element of bool CQC-WFF
for b2 being Element of CQC-WFF
      st still_not-bound_in b1 is finite
   holds still_not-bound_in (b1 \/ {b2}) is finite;

:: GOEDELCP:th 37
theorem
for b1 being Element of bool CQC-WFF
for b2 being Element of CQC-WFF
for b3 being non empty set
for b4 being interpretation of b3
for b5 being Element of Valuations_in b3
      st b1 |= b2
   holds not b4,b5 |= b1 \/ {'not' b2};

:: GOEDELCP:th 38
theorem
for b1 being Element of bool CQC-WFF
for b2 being Element of CQC-WFF
      st still_not-bound_in b1 is finite & b1 |= b2
   holds b1 |- b2;