qc_lang1.miz
begin
theorem ::
QC_LANG1:1
for D1 be non
empty
set, D2 be
set, k be
Element of D1 holds
[:
{k}, D2:]
c=
[:D1, D2:]
proof
let D1 be non
empty
set, D2 be
set, k be
Element of D1;
{k} is
Subset of D1 by
SUBSET_1: 41;
hence thesis by
ZFMISC_1: 95;
end;
theorem ::
QC_LANG1:2
for D1 be non
empty
set, D2 be
set, k1,k2,k3 be
Element of D1 holds
[:
{k1, k2, k3}, D2:]
c=
[:D1, D2:]
proof
let D1 be non
empty
set, D2 be
set, k1,k2,k3 be
Element of D1;
{k1, k2, k3} is
Subset of D1 by
SUBSET_1: 35;
hence thesis by
ZFMISC_1: 95;
end;
definition
::
QC_LANG1:def1
mode
QC-alphabet ->
set means
:
Def1: it is non
empty
set & ex X be
set st
NAT
c= X & it
=
[:
NAT , X:];
existence
proof
[:
NAT ,
NAT :]
=
[:
NAT ,
NAT :];
hence thesis;
end;
end
registration
cluster -> non
empty
Relation-like for
QC-alphabet;
coherence
proof
let A be
QC-alphabet;
ex X be
set st
NAT
c= X & A
=
[:
NAT , X:] by
Def1;
hence thesis by
Def1;
end;
end
reserve A for
QC-alphabet;
reserve k,n,m for
Nat;
definition
let A be
QC-alphabet;
::
QC_LANG1:def2
func
QC-symbols (A) -> non
empty
set equals (
rng A);
coherence ;
end
definition
let A be
QC-alphabet;
mode
QC-symbol of A is
Element of (
QC-symbols A);
end
theorem ::
QC_LANG1:3
Th3:
NAT
c= (
QC-symbols A) &
0
in (
QC-symbols A)
proof
consider X be
set such that
A1:
NAT
c= X & A
=
[:
NAT , X:] by
Def1;
thus
A2:
NAT
c= (
QC-symbols A) by
A1,
RELAT_1: 160;
thus
0
in (
QC-symbols A) by
A2;
end;
registration
let A be
QC-alphabet;
cluster (
QC-symbols A) -> non
empty;
coherence ;
end
definition
let A be
QC-alphabet;
::
QC_LANG1:def3
func
QC-variables (A) ->
set equals (
[:
{6},
NAT :]
\/
[:
{4, 5}, (
QC-symbols A):]);
coherence ;
end
registration
let A be
QC-alphabet;
cluster (
QC-variables A) -> non
empty;
coherence ;
end
Lm1:
[:
{4}, (
QC-symbols A):]
c= (
QC-variables A) &
[:
{5}, (
QC-symbols A):]
c= (
QC-variables A) &
[:
{6},
NAT :]
c= (
QC-variables A)
proof
{5}
c=
{4, 5} by
ZFMISC_1: 7;
then
A1:
[:
{5}, (
QC-symbols A):]
c=
[:
{4, 5}, (
QC-symbols A):] by
ZFMISC_1: 96;
{4}
c=
{4, 5} by
ZFMISC_1: 7;
then
[:
{4}, (
QC-symbols A):]
c=
[:
{4, 5}, (
QC-symbols A):] by
ZFMISC_1: 96;
hence thesis by
A1,
XBOOLE_1: 10;
end;
theorem ::
QC_LANG1:4
Th4: (
QC-variables A)
c=
[:
NAT , (
QC-symbols A):]
proof
{6}
c=
NAT &
NAT
c= (
QC-symbols A) by
Th3,
ZFMISC_1: 31;
then
A1:
[:
{6},
NAT :]
c=
[:
NAT , (
QC-symbols A):] by
ZFMISC_1: 96;
{4, 5}
c=
NAT & (
QC-symbols A)
c= (
QC-symbols A) by
ZFMISC_1: 32;
then
[:
{4, 5}, (
QC-symbols A):]
c=
[:
NAT , (
QC-symbols A):] by
ZFMISC_1: 96;
hence thesis by
A1,
XBOOLE_1: 8;
end;
definition
let A be
QC-alphabet;
mode
QC-variable of A is
Element of (
QC-variables A);
::
QC_LANG1:def4
func
bound_QC-variables (A) ->
Subset of (
QC-variables A) equals
[:
{4}, (
QC-symbols A):];
coherence by
Lm1;
::
QC_LANG1:def5
func
fixed_QC-variables (A) ->
Subset of (
QC-variables A) equals
[:
{5}, (
QC-symbols A):];
coherence by
Lm1;
::
QC_LANG1:def6
func
free_QC-variables (A) ->
Subset of (
QC-variables A) equals
[:
{6},
NAT :];
coherence by
Lm1;
::
QC_LANG1:def7
func
QC-pred_symbols (A) ->
set equals {
[n, x] where x be
QC-symbol of A : 7
<= n };
coherence ;
end
registration
let A be
QC-alphabet;
cluster (
bound_QC-variables A) -> non
empty;
coherence ;
cluster (
fixed_QC-variables A) -> non
empty;
coherence ;
cluster (
free_QC-variables A) -> non
empty;
coherence ;
cluster (
QC-pred_symbols A) -> non
empty;
coherence
proof
0 is
QC-symbol of A by
Th3;
then
[7,
0 ]
in {
[n, x] where x be
QC-symbol of A : 7
<= n };
hence thesis;
end;
end
theorem ::
QC_LANG1:5
A
=
[:
NAT , (
QC-symbols A):]
proof
consider X be
set such that
A1:
NAT
c= X & A
=
[:
NAT , X:] by
Def1;
X
<>
{} by
A1;
hence A
=
[:
NAT , (
QC-symbols A):] by
A1,
RELAT_1: 160;
end;
theorem ::
QC_LANG1:6
Th6: (
QC-pred_symbols A)
c=
[:
NAT , (
QC-symbols A):]
proof
let y be
object;
assume y
in (
QC-pred_symbols A);
then
consider k be
Nat, x be
QC-symbol of A such that
A1: y
=
[k, x] & 7
<= k;
k
in
NAT by
ORDINAL1:def 12;
hence thesis by
ZFMISC_1:def 2,
A1;
end;
definition
let A be
QC-alphabet;
mode
QC-pred_symbol of A is
Element of (
QC-pred_symbols A);
end
definition
let A be
QC-alphabet;
let P be
Element of (
QC-pred_symbols A);
::
QC_LANG1:def8
func
the_arity_of P ->
Nat means
:
Def8: (P
`1 )
= (7
+ it );
existence
proof
P
in {
[k, x] where x be
QC-symbol of A : 7
<= k };
then
consider k be
Nat, x be
QC-symbol of A such that
A1: P
=
[k, x] and
A2: 7
<= k;
consider w be
Nat such that
A3: k
= (7
+ w) by
A2,
NAT_1: 10;
thus thesis by
A1,
A3;
end;
uniqueness ;
end
reserve P for
QC-pred_symbol of A;
definition
let A, k;
::
QC_LANG1:def9
func k
-ary_QC-pred_symbols (A) ->
Subset of (
QC-pred_symbols A) equals { P : (
the_arity_of P)
= k };
coherence
proof
set Y =
{(7
+ k)};
[:
{(7
+ k)}, (
QC-symbols A):]
c= (
QC-pred_symbols A)
proof
let y be
object;
assume
A1: y
in
[:
{(7
+ k)}, (
QC-symbols A):];
reconsider y1 = (y
`1 ) as
Nat by
MCART_1: 12,
A1;
reconsider y2 = (y
`2 ) as
QC-symbol of A by
A1,
MCART_1: 12;
(y
`1 )
= (7
+ k) by
A1,
MCART_1: 12;
then 7
<= y1 by
NAT_1: 12;
then
[y1, y2]
in {
[m, x] where x be
QC-symbol of A : 7
<= m };
hence thesis by
A1,
MCART_1: 21;
end;
then
reconsider X =
[:Y, (
QC-symbols A):] as
Subset of (
QC-pred_symbols A);
X
= { P : (
the_arity_of P)
= k }
proof
thus X
c= { P : (
the_arity_of P)
= k }
proof
let x be
object;
assume
A2: x
in X;
then
reconsider Q = x as
QC-pred_symbol of A;
(x
`1 )
in Y by
A2,
MCART_1: 10;
then (x
`1 )
= (7
+ k) by
TARSKI:def 1;
then (
the_arity_of Q)
= k by
Def8;
hence thesis;
end;
let x be
object;
assume x
in { P : (
the_arity_of P)
= k };
then
consider P such that
A3: x
= P and
A4: (
the_arity_of P)
= k;
(P
`1 )
= (7
+ k) by
A4,
Def8;
then
A5: (P
`1 )
in Y by
TARSKI:def 1;
A6: (
QC-pred_symbols A)
c=
[:
NAT , (
QC-symbols A):] by
Th6;
then P
in
[:
NAT , (
QC-symbols A):];
then (P
`2 )
in (
QC-symbols A) by
MCART_1: 10;
then
[(P
`1 ), (P
`2 )]
in X by
A5,
ZFMISC_1: 87;
hence thesis by
A3,
A6,
MCART_1: 21;
end;
hence thesis;
end;
end
registration
let k, A;
cluster (k
-ary_QC-pred_symbols A) -> non
empty;
coherence
proof
set Y =
{(7
+ k)};
[:
{(7
+ k)}, (
QC-symbols A):]
c= (
QC-pred_symbols A)
proof
let x be
object;
assume
A1: x
in
[:
{(7
+ k)}, (
QC-symbols A):];
reconsider x1 = (x
`1 ) as
Nat by
MCART_1: 12,
A1;
reconsider x2 = (x
`2 ) as
QC-symbol of A by
A1,
MCART_1: 12;
(x
`1 )
= (7
+ k) by
A1,
MCART_1: 12;
then 7
<= x1 by
NAT_1: 12;
then
[x1, x2]
in {
[m, y] where y be
QC-symbol of A : 7
<= m };
hence thesis by
A1,
MCART_1: 21;
end;
then
reconsider X =
[:Y, (
QC-symbols A):] as non
empty
Subset of (
QC-pred_symbols A);
X
= { P : (
the_arity_of P)
= k }
proof
thus X
c= { P : (
the_arity_of P)
= k }
proof
let x be
object;
assume
A2: x
in X;
then
reconsider Q = x as
QC-pred_symbol of A;
(x
`1 )
in Y by
A2,
MCART_1: 10;
then (x
`1 )
= (7
+ k) by
TARSKI:def 1;
then (
the_arity_of Q)
= k by
Def8;
hence thesis;
end;
let x be
object;
assume x
in { P : (
the_arity_of P)
= k };
then
consider P such that
A3: x
= P and
A4: (
the_arity_of P)
= k;
(P
`1 )
= (7
+ k) by
A4,
Def8;
then
A5: (P
`1 )
in Y by
TARSKI:def 1;
A6: (
QC-pred_symbols A)
c=
[:
NAT , (
QC-symbols A):] by
Th6;
then P
in
[:
NAT , (
QC-symbols A):];
then (P
`2 )
in (
QC-symbols A) by
MCART_1: 10;
then
[(P
`1 ), (P
`2 )]
in X by
A5,
ZFMISC_1: 87;
hence thesis by
A3,
A6,
MCART_1: 21;
end;
hence thesis;
end;
end
definition
let A be
QC-alphabet;
mode
bound_QC-variable of A is
Element of (
bound_QC-variables A);
mode
fixed_QC-variable of A is
Element of (
fixed_QC-variables A);
mode
free_QC-variable of A is
Element of (
free_QC-variables A);
let k;
mode
QC-pred_symbol of k,A is
Element of (k
-ary_QC-pred_symbols A);
end
registration
let k be
Nat;
let A be
QC-alphabet;
cluster k
-element for
FinSequence of (
QC-variables A);
existence
proof
consider p be
FinSequence of (
QC-variables A) such that
A1: (
len p)
= k by
FINSEQ_1: 19;
take p;
thus (
len p)
= k by
A1;
end;
end
definition
let k be
Nat;
let A be
QC-alphabet;
mode
QC-variable_list of k,A is k
-element
FinSequence of (
QC-variables A);
end
definition
let A be
QC-alphabet;
let D be
set;
::
QC_LANG1:def10
attr D is A
-closed means
:
Def10: D is
Subset of (
[:
NAT , (
QC-symbols A):]
* ) & (for k be
Nat, p be
QC-pred_symbol of k, A, ll be
QC-variable_list of k, A holds (
<*p*>
^ ll)
in D) &
<*
[
0 ,
0 ]*>
in D & (for p be
FinSequence of
[:
NAT , (
QC-symbols A):] st p
in D holds (
<*
[1,
0 ]*>
^ p)
in D) & (for p,q be
FinSequence of
[:
NAT , (
QC-symbols A):] st p
in D & q
in D holds ((
<*
[2,
0 ]*>
^ p)
^ q)
in D) & (for x be
bound_QC-variable of A, p be
FinSequence of
[:
NAT , (
QC-symbols A):] st p
in D holds ((
<*
[3,
0 ]*>
^
<*x*>)
^ p)
in D);
end
Lm2: for k be
Nat, x be
QC-symbol of A holds
<*
[k, x]*> is
FinSequence of
[:
NAT , (
QC-symbols A):]
proof
let k;
let x be
QC-symbol of A;
k
in
NAT by
ORDINAL1:def 12;
then
[k, x]
in
[:
NAT , (
QC-symbols A):] by
ZFMISC_1:def 2;
then (
rng
<*
[k, x]*>)
=
{
[k, x]} &
{
[k, x]}
c=
[:
NAT , (
QC-symbols A):] by
FINSEQ_1: 39,
ZFMISC_1: 31;
hence thesis by
FINSEQ_1:def 4;
end;
Lm3: for k be
Nat, p be
QC-pred_symbol of k, A, ll be
QC-variable_list of k, A holds (
<*p*>
^ ll) is
FinSequence of
[:
NAT , (
QC-symbols A):]
proof
let k be
Nat, p be
QC-pred_symbol of k, A, ll be
QC-variable_list of k, A;
(
QC-variables A)
c=
[:
NAT , (
QC-symbols A):] by
Th4;
then
A1: (
rng ll)
c=
[:
NAT , (
QC-symbols A):];
(
QC-pred_symbols A)
c=
[:
NAT , (
QC-symbols A):] by
Th6;
then (k
-ary_QC-pred_symbols A)
c=
[:
NAT , (
QC-symbols A):];
then (
rng
<*p*>)
c=
[:
NAT , (
QC-symbols A):];
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;
hence thesis by
FINSEQ_1:def 4;
end;
Lm4: for x be
bound_QC-variable of A, p be
FinSequence of
[:
NAT , (
QC-symbols A):] holds ((
<*
[3,
0 ]*>
^
<*x*>)
^ p) is
FinSequence of
[:
NAT , (
QC-symbols A):]
proof
A1:
0 is
QC-symbol of A by
Th3;
reconsider y =
<*
[3,
0 ]*> as
FinSequence of
[:
NAT , (
QC-symbols A):] by
A1,
Lm2;
let x be
bound_QC-variable of A, p be
FinSequence of
[:
NAT , (
QC-symbols A):];
(
QC-variables A)
c=
[:
NAT , (
QC-symbols A):] by
Th4;
then (
bound_QC-variables A)
c=
[:
NAT , (
QC-symbols A):];
then (
rng
<*x*>)
c=
[:
NAT , (
QC-symbols A):];
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 thesis;
end;
definition
let A be
QC-alphabet;
::
QC_LANG1:def11
func
QC-WFF (A) -> non
empty
set means
:
Def11: it is A
-closed & for D be non
empty
set st D is A
-closed holds it
c= D;
existence
proof
0 is
QC-symbol of A by
Th3;
then
<*
[
0 ,
0 ]*> is
FinSequence of
[:
NAT , (
QC-symbols A):] by
Lm2;
then
A1:
<*
[
0 ,
0 ]*>
in (
[:
NAT , (
QC-symbols A):]
* ) by
FINSEQ_1:def 11;
defpred
P[
object] means for D be non
empty
set st D is A
-closed holds $1
in D;
consider D0 be
set such that
A2: for x be
object holds x
in D0 iff x
in (
[:
NAT , (
QC-symbols A):]
* ) &
P[x] from
XBOOLE_0:sch 1;
A3: for D be non
empty
set st D is A
-closed holds
<*
[
0 ,
0 ]*>
in D;
then
reconsider D0 as non
empty
set by
A2,
A1;
take D0;
D0
c= (
[:
NAT , (
QC-symbols A):]
* ) by
A2;
hence D0 is
Subset of (
[:
NAT , (
QC-symbols A):]
* );
thus for k be
Nat, p be
QC-pred_symbol of k, A, ll be
QC-variable_list of k, A holds (
<*p*>
^ ll)
in D0
proof
let k be
Nat, p be
QC-pred_symbol of k, A, ll be
QC-variable_list of k, A;
(
<*p*>
^ ll) is
FinSequence of
[:
NAT , (
QC-symbols A):] by
Lm3;
then
A4: (
<*p*>
^ ll)
in (
[:
NAT , (
QC-symbols A):]
* ) by
FINSEQ_1:def 11;
for D be non
empty
set st D is A
-closed holds (
<*p*>
^ ll)
in D;
hence thesis by
A2,
A4;
end;
thus
<*
[
0 ,
0 ]*>
in D0 by
A2,
A1,
A3;
thus for p be
FinSequence of
[:
NAT , (
QC-symbols A):] st p
in D0 holds (
<*
[1,
0 ]*>
^ p)
in D0
proof
A5:
0 is
QC-symbol of A by
Th3;
reconsider h =
<*
[1,
0 ]*> as
FinSequence of
[:
NAT , (
QC-symbols A):] by
Lm2,
A5;
let p be
FinSequence of
[:
NAT , (
QC-symbols A):];
assume
A6: p
in D0;
A7: for D be non
empty
set st D is A
-closed holds (
<*
[1,
0 ]*>
^ p)
in D
proof
let D be non
empty
set;
assume
A8: D is A
-closed;
then p
in D by
A2,
A6;
hence thesis by
A8;
end;
(h
^ p) is
FinSequence of
[:
NAT , (
QC-symbols A):];
then (
<*
[1,
0 ]*>
^ p)
in (
[:
NAT , (
QC-symbols A):]
* ) by
FINSEQ_1:def 11;
hence thesis by
A2,
A7;
end;
thus for p,q be
FinSequence of
[:
NAT , (
QC-symbols A):] st p
in D0 & q
in D0 holds ((
<*
[2,
0 ]*>
^ p)
^ q)
in D0
proof
A9:
0 is
QC-symbol of A by
Th3;
reconsider h =
<*
[2,
0 ]*> as
FinSequence of
[:
NAT , (
QC-symbols A):] by
A9,
Lm2;
let p,q be
FinSequence of
[:
NAT , (
QC-symbols A):] such that
A10: p
in D0 & q
in D0;
A11: for D be non
empty
set st D is A
-closed holds ((
<*
[2,
0 ]*>
^ p)
^ q)
in D
proof
let D be non
empty
set;
assume
A12: D is A
-closed;
then p
in D & q
in D by
A2,
A10;
hence thesis by
A12;
end;
((h
^ p)
^ q) is
FinSequence of
[:
NAT , (
QC-symbols A):];
then ((
<*
[2,
0 ]*>
^ p)
^ q)
in (
[:
NAT , (
QC-symbols A):]
* ) by
FINSEQ_1:def 11;
hence thesis by
A2,
A11;
end;
thus for x be
bound_QC-variable of A, p be
FinSequence of
[:
NAT , (
QC-symbols A):] st p
in D0 holds ((
<*
[3,
0 ]*>
^
<*x*>)
^ p)
in D0
proof
let x be
bound_QC-variable of A, p be
FinSequence of
[:
NAT , (
QC-symbols A):];
assume
A13: p
in D0;
A14: for D be non
empty
set st D is A
-closed holds ((
<*
[3,
0 ]*>
^
<*x*>)
^ p)
in D
proof
let D be non
empty
set;
assume
A15: D is A
-closed;
then p
in D by
A2,
A13;
hence thesis by
A15;
end;
((
<*
[3,
0 ]*>
^
<*x*>)
^ p) is
FinSequence of
[:
NAT , (
QC-symbols A):] by
Lm4;
then ((
<*
[3,
0 ]*>
^
<*x*>)
^ p)
in (
[:
NAT , (
QC-symbols A):]
* ) by
FINSEQ_1:def 11;
hence thesis by
A2,
A14;
end;
let D be non
empty
set such that
A16: D is A
-closed;
let x be
object;
assume x
in D0;
hence thesis by
A2,
A16;
end;
uniqueness ;
end
theorem ::
QC_LANG1:7
(
QC-WFF A) is A
-closed by
Def11;
registration
let A be
QC-alphabet;
cluster A
-closed non
empty for
set;
existence
proof
(
QC-WFF A) is A
-closed by
Def11;
hence thesis;
end;
end
definition
let A be
QC-alphabet;
mode
QC-formula of A is
Element of (
QC-WFF A);
end
definition
let A be
QC-alphabet;
let P be
QC-pred_symbol of A;
let l be
FinSequence of (
QC-variables A);
assume
A1: (
the_arity_of P)
= (
len l);
::
QC_LANG1:def12
func P
! l ->
Element of (
QC-WFF A) equals
:
Def12: (
<*P*>
^ l);
coherence
proof
set k = (
len l);
set QCP = { Q where Q be
QC-pred_symbol of A : (
the_arity_of Q)
= k };
P
in QCP by
A1;
then
reconsider P as
QC-pred_symbol of k, A;
reconsider l as
QC-variable_list of k, A by
CARD_1:def 7;
A2: (
QC-WFF A) is A
-closed non
empty
set by
Def11;
for D be A
-closed non
empty
set st not contradiction holds (
<*P*>
^ l)
in D by
Def10;
hence thesis by
A2;
end;
end
theorem ::
QC_LANG1:8
Th8: for k be
Nat, p be
QC-pred_symbol of k, A, ll be
QC-variable_list of k, A holds (p
! ll)
= (
<*p*>
^ ll)
proof
let k be
Nat, p be
QC-pred_symbol of k, A, ll be
QC-variable_list of k, A;
set QCP = { Q where Q be
QC-pred_symbol of A : (
the_arity_of Q)
= k };
p
in QCP;
then
A1: ex Q be
QC-pred_symbol of A st p
= Q & (
the_arity_of Q)
= k;
(
len ll)
= k by
CARD_1:def 7;
hence thesis by
A1,
Def12;
end;
Lm5: (
QC-WFF A) is
Subset of (
[:
NAT , (
QC-symbols A):]
* )
proof
A1: (
QC-WFF A) is A
-closed non
empty
set by
Def11;
thus thesis by
A1,
Def10;
end;
definition
let A be
QC-alphabet;
let p be
Element of (
QC-WFF A);
::
QC_LANG1:def13
func
@ p ->
FinSequence of
[:
NAT , (
QC-symbols A):] equals p;
coherence
proof
(
QC-WFF A) is
Subset of (
[:
NAT , (
QC-symbols A):]
* ) & p
in (
QC-WFF A) by
Lm5;
hence thesis by
FINSEQ_1:def 11;
end;
end
definition
let A be
QC-alphabet;
::
QC_LANG1:def14
func
VERUM (A) ->
QC-formula of A equals
<*
[
0 ,
0 ]*>;
coherence
proof
(
QC-WFF A) is A
-closed non
empty
set by
Def11;
hence thesis by
Def10;
end;
let p be
Element of (
QC-WFF A);
::
QC_LANG1:def15
func
'not' p ->
QC-formula of A equals (
<*
[1,
0 ]*>
^ (
@ p));
coherence
proof
(
QC-WFF A) is A
-closed non
empty
set by
Def11;
hence thesis by
Def10;
end;
let q be
Element of (
QC-WFF A);
::
QC_LANG1:def16
func p
'&' q ->
QC-formula of A equals ((
<*
[2,
0 ]*>
^ (
@ p))
^ (
@ q));
coherence
proof
(
QC-WFF A) is A
-closed non
empty
set by
Def11;
hence thesis by
Def10;
end;
end
definition
let A be
QC-alphabet;
let x be
bound_QC-variable of A, p be
Element of (
QC-WFF A);
::
QC_LANG1:def17
func
All (x,p) ->
QC-formula of A equals ((
<*
[3,
0 ]*>
^
<*x*>)
^ (
@ p));
coherence
proof
(
QC-WFF A) is A
-closed non
empty
set by
Def11;
hence thesis by
Def10;
end;
end
reserve F for
Element of (
QC-WFF A);
scheme ::
QC_LANG1:sch1
QCInd { A() ->
QC-alphabet , Prop[
Element of (
QC-WFF A())] } :
for F be
Element of (
QC-WFF A()) holds Prop[F]
provided
A1: for k be
Nat, P be
QC-pred_symbol of k, A(), ll be
QC-variable_list of k, A() holds Prop[(P
! ll)]
and
A2: Prop[(
VERUM A())]
and
A3: for p be
Element of (
QC-WFF A()) st Prop[p] holds Prop[(
'not' p)]
and
A4: for p,q be
Element of (
QC-WFF A()) st Prop[p] & Prop[q] holds Prop[(p
'&' q)]
and
A5: for x be
bound_QC-variable of A(), p be
Element of (
QC-WFF A()) st Prop[p] holds Prop[(
All (x,p))];
(
VERUM A())
in { F where F be
Element of (
QC-WFF A()) : Prop[F] } by
A2;
then
reconsider X = { F where F be
Element of (
QC-WFF A()) : Prop[F] } as non
empty
set;
A6: for k be
Nat, P be
QC-pred_symbol of k, A(), ll be
QC-variable_list of k, A() holds (
<*P*>
^ ll)
in X
proof
let k be
Nat, P be
QC-pred_symbol of k, A(), ll be
QC-variable_list of k, A();
Prop[(P
! ll)] by
A1;
then (P
! ll)
in X;
hence thesis by
Th8;
end;
A7: for x be
bound_QC-variable of A(), p be
FinSequence of
[:
NAT , (
QC-symbols A()):] st p
in X holds ((
<*
[3,
0 ]*>
^
<*x*>)
^ p)
in X
proof
let x be
bound_QC-variable of A(), p be
FinSequence of
[:
NAT , (
QC-symbols A()):];
assume p
in X;
then
consider p9 be
Element of (
QC-WFF A()) such that
A8: p
= p9 and
A9: Prop[p9];
Prop[(
All (x,p9))] by
A5,
A9;
hence thesis by
A8;
end;
A10: for p,q be
FinSequence of
[:
NAT , (
QC-symbols A()):] st p
in X & q
in X holds ((
<*
[2,
0 ]*>
^ p)
^ q)
in X
proof
let p,q be
FinSequence of
[:
NAT , (
QC-symbols A()):];
assume p
in X;
then
consider p9 be
Element of (
QC-WFF A()) such that
A11: p
= p9 and
A12: Prop[p9];
assume q
in X;
then
consider q9 be
Element of (
QC-WFF A()) such that
A13: q
= q9 and
A14: Prop[q9];
Prop[(p9
'&' q9)] by
A4,
A12,
A14;
hence thesis by
A11,
A13;
end;
A15: for p be
FinSequence of
[:
NAT , (
QC-symbols A()):] st p
in X holds (
<*
[1,
0 ]*>
^ p)
in X
proof
let p be
FinSequence of
[:
NAT , (
QC-symbols A()):];
assume p
in X;
then
consider p9 be
Element of (
QC-WFF A()) such that
A16: p
= p9 and
A17: Prop[p9];
Prop[(
'not' p9)] by
A3,
A17;
hence thesis by
A16;
end;
let F9 be
Element of (
QC-WFF A());
A18: X
c= (
[:
NAT , (
QC-symbols A()):]
* )
proof
let x be
object;
assume x
in X;
then
consider p be
Element of (
QC-WFF A()) such that
A19: x
= p and Prop[p];
p
= (
@ p);
hence thesis by
A19,
FINSEQ_1:def 11;
end;
A20:
<*
[
0 ,
0 ]*>
in X by
A2;
X is A()
-closed by
A6,
A18,
A20,
A15,
A10,
A7;
then (
QC-WFF A())
c= X by
Def11;
then F9
in X;
then ex F99 be
Element of (
QC-WFF A()) st F9
= F99 & Prop[F99];
hence thesis;
end;
definition
let A be
QC-alphabet;
let F be
Element of (
QC-WFF A);
::
QC_LANG1:def18
attr F is
atomic means
:
Def18: ex k be
Nat, p be
QC-pred_symbol of k, A, ll be
QC-variable_list of k, A st F
= (p
! ll);
::
QC_LANG1:def19
attr F is
negative means
:
Def19: ex p be
Element of (
QC-WFF A) st F
= (
'not' p);
::
QC_LANG1:def20
attr F is
conjunctive means
:
Def20: ex p,q be
Element of (
QC-WFF A) st F
= (p
'&' q);
::
QC_LANG1:def21
attr F is
universal means
:
Def21: ex x be
bound_QC-variable of A, p be
Element of (
QC-WFF A) st F
= (
All (x,p));
end
theorem ::
QC_LANG1:9
Th9: for F be
Element of (
QC-WFF A) holds F
= (
VERUM A) or F is
atomic or F is
negative or F is
conjunctive or F is
universal
proof
defpred
P[
Element of (
QC-WFF A)] means $1
= (
VERUM A) or $1 is
atomic or $1 is
negative or $1 is
conjunctive or $1 is
universal;
A1:
P[(
VERUM A)];
A2: for p be
Element of (
QC-WFF A) st
P[p] holds
P[(
'not' p)] by
Def19;
A3: for x be
bound_QC-variable of A, p be
Element of (
QC-WFF A) st
P[p] holds
P[(
All (x,p))] by
Def21;
A4: for p,q be
Element of (
QC-WFF A) st
P[p] &
P[q] holds
P[(p
'&' q)] by
Def20;
A5: for k be
Nat, p be
QC-pred_symbol of k, A, ll be
QC-variable_list of k, A holds
P[(p
! ll)] by
Def18;
thus for F be
Element of (
QC-WFF A) holds
P[F] from
QCInd(
A5,
A1,
A2,
A4,
A3);
end;
theorem ::
QC_LANG1:10
Th10: for F be
Element of (
QC-WFF A) holds 1
<= (
len (
@ F))
proof
let F be
Element of (
QC-WFF A);
now
per cases by
Th9;
suppose F
= (
VERUM A);
hence thesis by
FINSEQ_1: 39;
end;
suppose F is
atomic;
then
consider k be
Nat, p be
QC-pred_symbol of k, A, ll be
QC-variable_list of k, A such that
A1: F
= (p
! ll);
(
@ F)
= (
<*p*>
^ ll) by
A1,
Th8;
then (
len (
@ F))
= ((
len
<*p*>)
+ (
len ll)) by
FINSEQ_1: 22
.= (1
+ (
len ll)) by
FINSEQ_1: 39;
hence thesis by
NAT_1: 11;
end;
suppose F is
negative;
then
consider p be
Element of (
QC-WFF A) such that
A2: F
= (
'not' p);
(
len (
@ F))
= ((
len
<*
[1,
0 ]*>)
+ (
len (
@ p))) by
A2,
FINSEQ_1: 22
.= (1
+ (
len (
@ p))) by
FINSEQ_1: 39;
hence thesis by
NAT_1: 11;
end;
suppose F is
conjunctive;
then
consider p,q be
Element of (
QC-WFF A) such that
A3: F
= (p
'&' q);
(
@ F)
= (
<*
[2,
0 ]*>
^ ((
@ p)
^ (
@ q))) by
A3,
FINSEQ_1: 32;
then (
len (
@ F))
= ((
len
<*
[2,
0 ]*>)
+ (
len ((
@ p)
^ (
@ q)))) by
FINSEQ_1: 22
.= (1
+ (
len ((
@ p)
^ (
@ q)))) by
FINSEQ_1: 39;
hence thesis by
NAT_1: 11;
end;
suppose F is
universal;
then
consider x be
bound_QC-variable of A, p be
Element of (
QC-WFF A) such that
A4: F
= (
All (x,p));
(
@ F)
= (
<*
[3,
0 ]*>
^ (
<*x*>
^ (
@ p))) by
A4,
FINSEQ_1: 32;
then (
len (
@ F))
= ((
len
<*
[3,
0 ]*>)
+ (
len (
<*x*>
^ (
@ p)))) by
FINSEQ_1: 22
.= (1
+ (
len (
<*x*>
^ (
@ p)))) by
FINSEQ_1: 39;
hence thesis by
NAT_1: 11;
end;
end;
hence thesis;
end;
reserve Q for
QC-pred_symbol of A;
theorem ::
QC_LANG1:11
Th11: for k be
Nat, P be
QC-pred_symbol of k, A holds (
the_arity_of P)
= k
proof
let k be
Nat, P be
QC-pred_symbol of k, A;
reconsider P as
Element of (k
-ary_QC-pred_symbols A);
P
in { Q : (
the_arity_of Q)
= k };
then ex Q st P
= Q & (
the_arity_of Q)
= k;
hence thesis;
end;
reserve F,G for
Element of (
QC-WFF A),
s for
FinSequence;
theorem ::
QC_LANG1:12
Th12: ((((
@ F)
. 1)
`1 )
=
0 implies F
= (
VERUM A)) & ((((
@ F)
. 1)
`1 )
= 1 implies F is
negative) & ((((
@ F)
. 1)
`1 )
= 2 implies F is
conjunctive) & ((((
@ F)
. 1)
`1 )
= 3 implies F is
universal) & ((ex k be
Nat st ((
@ F)
. 1) is
QC-pred_symbol of k, A) implies F is
atomic)
proof
A1:
now
per cases by
Th9;
case F is
atomic;
then
consider k be
Nat, P be
QC-pred_symbol of k, A, ll be
QC-variable_list of k, A such that
A2: F
= (P
! ll);
(
@ F)
= (
<*P*>
^ ll) by
A2,
Th8;
then ((
@ F)
. 1)
= P by
FINSEQ_1: 41;
hence ex k be
Nat st ((
@ F)
. 1) is
QC-pred_symbol of k, A;
end;
case F
= (
VERUM A);
hence (((
@ F)
. 1)
`1 )
= (
[
0 ,
0 ]
`1 ) by
FINSEQ_1:def 8
.=
0 ;
end;
case F is
negative;
then ex p be
Element of (
QC-WFF A) st F
= (
'not' p);
then ((
@ F)
. 1)
=
[1,
0 ] by
FINSEQ_1: 41;
hence (((
@ F)
. 1)
`1 )
= 1;
end;
case F is
conjunctive;
then
consider p,q be
Element of (
QC-WFF A) such that
A3: F
= (p
'&' q);
(
@ F)
= (
<*
[2,
0 ]*>
^ ((
@ p)
^ (
@ q))) by
A3,
FINSEQ_1: 32;
then ((
@ F)
. 1)
=
[2,
0 ] by
FINSEQ_1: 41;
hence (((
@ F)
. 1)
`1 )
= 2;
end;
case F is
universal;
then
consider x be
bound_QC-variable of A, p be
Element of (
QC-WFF A) such that
A4: F
= (
All (x,p));
(
@ F)
= (
<*
[3,
0 ]*>
^ (
<*x*>
^ (
@ p))) by
A4,
FINSEQ_1: 32;
then ((
@ F)
. 1)
=
[3,
0 ] by
FINSEQ_1: 41;
hence (((
@ F)
. 1)
`1 )
= 3;
end;
end;
now
let k be
Nat, P be
QC-pred_symbol of k, A;
reconsider P9 = P as
QC-pred_symbol of A;
(P9
`1 )
= (7
+ (
the_arity_of P9)) by
Def8;
hence (P
`1 )
<>
0 & (P
`1 )
<> 1 & (P
`1 )
<> 2 & (P
`1 )
<> 3 by
NAT_1: 11;
end;
hence thesis by
A1;
end;
theorem ::
QC_LANG1:13
Th13: (
@ F)
= ((
@ G)
^ s) implies (
@ F)
= (
@ G)
proof
defpred
P[
set] means for F, G, s st (
len (
@ F))
= $1 & (
@ F)
= ((
@ G)
^ s) holds (
@ F)
= (
@ G);
A1: for n be
Nat st for k be
Nat st k
< n holds
P[k] holds
P[n]
proof
let n be
Nat such that
A2: for k be
Nat st k
< n holds for F, G, s st (
len (
@ F))
= k & (
@ F)
= ((
@ G)
^ s) holds (
@ F)
= (
@ G);
let F,G be
Element of (
QC-WFF A), s be
FinSequence such that
A3: (
len (
@ F))
= n and
A4: (
@ F)
= ((
@ G)
^ s);
(
dom (
@ G))
= (
Seg (
len (
@ G))) & 1
<= (
len (
@ G)) by
Th10,
FINSEQ_1:def 3;
then 1
in (
dom (
@ G));
then
A5: ((
@ F)
. 1)
= ((
@ G)
. 1) by
A4,
FINSEQ_1:def 7;
A6: (
len ((
@ G)
^ s))
= ((
len (
@ G))
+ (
len s)) by
FINSEQ_1: 22;
now
per cases by
Th9;
suppose
A7: F
= (
VERUM A);
A8: 1
<= (
len (
@ G)) by
Th10;
A9: (
len (
@ F))
= 1 by
A7,
FINSEQ_1: 39;
then (
len (
@ G))
<= 1 by
A4,
A6,
NAT_1: 11;
then (1
+
0 )
= (1
+ (
len s)) by
A4,
A6,
A9,
A8,
XXREAL_0: 1;
then s
=
{} ;
hence thesis by
A4,
FINSEQ_1: 34;
end;
suppose F is
atomic;
then
consider k be
Nat, P be
QC-pred_symbol of k, A, ll be
QC-variable_list of k, A such that
A10: F
= (P
! ll);
A11: (
@ F)
= (
<*P*>
^ ll) by
A10,
Th8;
then
A12: ((
@ G)
. 1)
= P by
A5,
FINSEQ_1: 41;
then G is
atomic by
Th12;
then
consider k9 be
Nat, P9 be
QC-pred_symbol of k9, A, ll9 be
QC-variable_list of k9, A such that
A13: G
= (P9
! ll9);
A14: (
@ G)
= (
<*P9*>
^ ll9) by
A13,
Th8;
then
A15: ((
@ G)
. 1)
= P9 by
FINSEQ_1: 41;
then (
<*P*>
^ ll)
= (
<*P*>
^ (ll9
^ s)) by
A4,
A11,
A12,
A14,
FINSEQ_1: 32;
then ll
= (ll9
^ s) by
FINSEQ_1: 33;
then
A16: ((
len ll)
+
0 )
= ((
len ll9)
+ (
len s)) by
FINSEQ_1: 22;
(
len ll9)
= k9 by
CARD_1:def 7
.= (
the_arity_of P) by
A12,
A15,
Th11
.= k by
Th11
.= (
len ll) by
CARD_1:def 7;
then s
=
{} by
A16;
hence thesis by
A4,
FINSEQ_1: 34;
end;
suppose F is
negative;
then
consider p be
Element of (
QC-WFF A) such that
A17: F
= (
'not' p);
((
@ F)
. 1)
=
[1,
0 ] by
A17,
FINSEQ_1: 41;
then (((
@ G)
. 1)
`1 )
= 1 by
A5;
then G is
negative by
Th12;
then
consider p9 be
Element of (
QC-WFF A) such that
A18: G
= (
'not' p9);
(
<*
[1,
0 ]*>
^ (
@ p))
= (
<*
[1,
0 ]*>
^ ((
@ p9)
^ s)) by
A4,
A17,
A18,
FINSEQ_1: 32;
then
A19: (
@ p)
= ((
@ p9)
^ s) by
FINSEQ_1: 33;
(
len (
@ F))
= ((
len (
@ p))
+ (
len
<*
[1,
0 ]*>)) by
A17,
FINSEQ_1: 22
.= ((
len (
@ p))
+ 1) by
FINSEQ_1: 40;
then (
len (
@ p))
< (
len (
@ F)) by
NAT_1: 13;
then (
@ p)
= (
@ p9) by
A2,
A3,
A19;
then ((
@ p9)
^
{} )
= ((
@ p9)
^ s) by
A19,
FINSEQ_1: 34;
then s
=
{} by
FINSEQ_1: 33;
hence thesis by
A4,
FINSEQ_1: 34;
end;
suppose F is
conjunctive;
then
consider p,q be
Element of (
QC-WFF A) such that
A20: F
= (p
'&' q);
A21: (
@ F)
= (
<*
[2,
0 ]*>
^ ((
@ p)
^ (
@ q))) by
A20,
FINSEQ_1: 32;
then
A22: (
len (
@ F))
= ((
len ((
@ p)
^ (
@ q)))
+ (
len
<*
[2,
0 ]*>)) by
FINSEQ_1: 22
.= ((
len ((
@ p)
^ (
@ q)))
+ 1) by
FINSEQ_1: 40;
then
A23: (
len (
@ F))
= (((
len (
@ p))
+ (
len (
@ q)))
+ 1) by
FINSEQ_1: 22;
((
@ F)
. 1)
=
[2,
0 ] by
A21,
FINSEQ_1: 41;
then (((
@ G)
. 1)
`1 )
= 2 by
A5;
then G is
conjunctive by
Th12;
then
consider p9,q9 be
Element of (
QC-WFF A) such that
A24: G
= (p9
'&' q9);
A25: (
len (
@ p9))
<= ((
len (
@ p9))
+ (
len ((
@ q9)
^ s))) by
NAT_1: 11;
A26: (
@ G)
= (
<*
[2,
0 ]*>
^ ((
@ p9)
^ (
@ q9))) by
A24,
FINSEQ_1: 32;
then (
<*
[2,
0 ]*>
^ ((
@ p)
^ (
@ q)))
= (
<*
[2,
0 ]*>
^ (((
@ p9)
^ (
@ q9))
^ s)) by
A4,
A21,
FINSEQ_1: 32;
then
A27: ((
@ p)
^ (
@ q))
= (((
@ p9)
^ (
@ q9))
^ s) by
FINSEQ_1: 33
.= ((
@ p9)
^ ((
@ q9)
^ s)) by
FINSEQ_1: 32;
then (
len (
@ F))
= (((
len (
@ p9))
+ (
len ((
@ q9)
^ s)))
+ 1) by
A22,
FINSEQ_1: 22;
then
A28: (
len (
@ p9))
< (
len (
@ F)) by
A25,
NAT_1: 13;
(
len (
@ q))
<= ((
len (
@ p))
+ (
len (
@ q))) by
NAT_1: 11;
then
A29: (
len (
@ q))
< (
len (
@ F)) by
A23,
NAT_1: 13;
(
len (
@ p))
<= ((
len (
@ p))
+ (
len (
@ q))) by
NAT_1: 11;
then
A30: (
len (
@ p))
< (
len (
@ F)) by
A23,
NAT_1: 13;
(
len (
@ p))
<= (
len (
@ p9)) or (
len (
@ p9))
<= (
len (
@ p));
then
consider a,b,c,d be
FinSequence such that
A31: a
= (
@ p) & b
= (
@ p9) or a
= (
@ p9) & b
= (
@ p) and
A32: (
len a)
<= (
len b) & (a
^ c)
= (b
^ d) by
A27;
ex t be
FinSequence st (a
^ t)
= b by
A32,
FINSEQ_1: 47;
then
A33: (
@ p)
= (
@ p9) by
A2,
A3,
A31,
A30,
A28;
then (
@ q)
= ((
@ q9)
^ s) by
A27,
FINSEQ_1: 33;
hence thesis by
A2,
A3,
A21,
A26,
A33,
A29;
end;
suppose F is
universal;
then
consider x be
bound_QC-variable of A, p be
Element of (
QC-WFF A) such that
A34: F
= (
All (x,p));
A35: (
@ F)
= (
<*
[3,
0 ]*>
^ (
<*x*>
^ (
@ p))) by
A34,
FINSEQ_1: 32;
then (
len (
@ F))
= ((
len (
<*x*>
^ (
@ p)))
+ (
len
<*
[3,
0 ]*>)) by
FINSEQ_1: 22
.= ((
len (
<*x*>
^ (
@ p)))
+ 1) by
FINSEQ_1: 40
.= (((
len
<*x*>)
+ (
len (
@ p)))
+ 1) by
FINSEQ_1: 22
.= ((1
+ (
len (
@ p)))
+ 1) by
FINSEQ_1: 40;
then ((
len (
@ p))
+ 1)
<= (
len (
@ F)) by
NAT_1: 13;
then
A36: (
len (
@ p))
< (
len (
@ F)) by
NAT_1: 13;
((
@ F)
. 1)
=
[3,
0 ] by
A35,
FINSEQ_1: 41;
then (((
@ G)
. 1)
`1 )
= 3 by
A5;
then G is
universal by
Th12;
then
consider x9 be
bound_QC-variable of A, p9 be
Element of (
QC-WFF A) such that
A37: G
= (
All (x9,p9));
((
<*
[3,
0 ]*>
^
<*x*>)
^ (
@ p))
= ((
<*
[3,
0 ]*>
^ (
<*x9*>
^ (
@ p9)))
^ s) by
A4,
A34,
A37,
FINSEQ_1: 32
.= (
<*
[3,
0 ]*>
^ ((
<*x9*>
^ (
@ p9))
^ s)) by
FINSEQ_1: 32;
then
A38: (
<*x*>
^ (
@ p))
= ((
<*x9*>
^ (
@ p9))
^ s) by
A34,
A35,
FINSEQ_1: 33
.= (
<*x9*>
^ ((
@ p9)
^ s)) by
FINSEQ_1: 32;
then
A39: x
= ((
<*x9*>
^ ((
@ p9)
^ s))
. 1) by
FINSEQ_1: 41
.= x9 by
FINSEQ_1: 41;
then (
@ p)
= ((
@ p9)
^ s) by
A38,
FINSEQ_1: 33;
hence thesis by
A2,
A3,
A34,
A37,
A39,
A36;
end;
end;
hence thesis;
end;
A40: for n be
Nat holds
P[n] from
NAT_1:sch 4(
A1);
thus thesis by
A40;
end;
definition
let A be
QC-alphabet;
let F be
Element of (
QC-WFF A);
::
QC_LANG1:def22
func
the_pred_symbol_of F ->
QC-pred_symbol of A means
:
Def22: ex k be
Nat, ll be
QC-variable_list of k, A, P be
QC-pred_symbol of k, A st it
= P & F
= (P
! ll);
existence by
A1;
uniqueness
proof
let P1,P2 be
QC-pred_symbol of A;
given k1 be
Nat, ll1 be
QC-variable_list of k1, A, P19 be
QC-pred_symbol of k1, A such that
A2: P1
= P19 & F
= (P19
! ll1);
given k2 be
Nat, ll2 be
QC-variable_list of k2, A, P29 be
QC-pred_symbol of k2, A such that
A3: P2
= P29 & F
= (P29
! ll2);
A4: (
<*P1*>
^ ll1)
= F by
A2,
Th8
.= (
<*P2*>
^ ll2) by
A3,
Th8;
thus P1
= ((
<*P1*>
^ ll1)
. 1) by
FINSEQ_1: 41
.= P2 by
A4,
FINSEQ_1: 41;
end;
end
definition
let A be
QC-alphabet;
let F be
Element of (
QC-WFF A);
::
QC_LANG1:def23
func
the_arguments_of F ->
FinSequence of (
QC-variables A) means
:
Def23: ex k be
Nat, P be
QC-pred_symbol of k, A, ll be
QC-variable_list of k, A st it
= ll & F
= (P
! ll);
existence by
A1;
uniqueness
proof
let ll1,ll2 be
FinSequence of (
QC-variables A);
given k1 be
Nat, P1 be
QC-pred_symbol of k1, A, ll19 be
QC-variable_list of k1, A such that
A2: ll1
= ll19 and
A3: F
= (P1
! ll19);
A4: F
= (
<*P1*>
^ ll19) by
A3,
Th8;
given k2 be
Nat, P2 be
QC-pred_symbol of k2, A, ll29 be
QC-variable_list of k2, A such that
A5: ll2
= ll29 and
A6: F
= (P2
! ll29);
A7: F
= (
<*P2*>
^ ll29) by
A6,
Th8;
P1
= (
the_pred_symbol_of F) by
A1,
A3,
Def22
.= P2 by
A1,
A6,
Def22;
hence thesis by
A2,
A5,
A4,
A7,
FINSEQ_1: 33;
end;
end
definition
let A be
QC-alphabet;
let F be
Element of (
QC-WFF A);
::
QC_LANG1:def24
func
the_argument_of F ->
QC-formula of A means
:
Def24: F
= (
'not' it );
existence by
A1;
uniqueness by
FINSEQ_1: 33;
end
definition
let A be
QC-alphabet;
let F be
Element of (
QC-WFF A);
::
QC_LANG1:def25
func
the_left_argument_of F ->
QC-formula of A means
:
Def25: ex q be
Element of (
QC-WFF A) st F
= (it
'&' q);
existence by
A1;
uniqueness
proof
let p1,p2 be
QC-formula of A;
given q1 be
Element of (
QC-WFF A) such that
A2: F
= (p1
'&' q1);
given q2 be
Element of (
QC-WFF A) such that
A3: F
= (p2
'&' q2);
(
<*
[2,
0 ]*>
^ ((
@ p1)
^ (
@ q1)))
= (p2
'&' q2) by
A2,
A3,
FINSEQ_1: 32
.= (
<*
[2,
0 ]*>
^ ((
@ p2)
^ (
@ q2))) by
FINSEQ_1: 32;
then
A4: ((
@ p1)
^ (
@ q1))
= ((
@ p2)
^ (
@ q2)) by
FINSEQ_1: 33;
(
len (
@ p1))
<= (
len (
@ p2)) or (
len (
@ p2))
<= (
len (
@ p1));
then
consider a,b,c,d be
FinSequence such that
A5: a
= (
@ p1) & b
= (
@ p2) or a
= (
@ p2) & b
= (
@ p1) and
A6: (
len a)
<= (
len b) & (a
^ c)
= (b
^ d) by
A4;
ex t be
FinSequence st (a
^ t)
= b by
A6,
FINSEQ_1: 47;
hence thesis by
A5,
Th13;
end;
end
definition
let A be
QC-alphabet;
let F be
Element of (
QC-WFF A);
::
QC_LANG1:def26
func
the_right_argument_of F ->
QC-formula of A means
:
Def26: ex p be
Element of (
QC-WFF A) st F
= (p
'&' it );
existence by
A1;
uniqueness
proof
let q1,q2 be
QC-formula of A;
given p1 be
Element of (
QC-WFF A) such that
A2: F
= (p1
'&' q1);
given p2 be
Element of (
QC-WFF A) such that
A3: F
= (p2
'&' q2);
(
<*
[2,
0 ]*>
^ ((
@ p1)
^ (
@ q1)))
= (p2
'&' q2) by
A2,
A3,
FINSEQ_1: 32
.= (
<*
[2,
0 ]*>
^ ((
@ p2)
^ (
@ q2))) by
FINSEQ_1: 32;
then
A4: ((
@ p1)
^ (
@ q1))
= ((
@ p2)
^ (
@ q2)) by
FINSEQ_1: 33;
p1
= (
the_left_argument_of F) by
A1,
A2,
Def25
.= p2 by
A1,
A3,
Def25;
hence thesis by
A4,
FINSEQ_1: 33;
end;
end
definition
let A be
QC-alphabet;
let F be
Element of (
QC-WFF A);
::
QC_LANG1:def27
func
bound_in F ->
bound_QC-variable of A means
:
Def27: ex p be
Element of (
QC-WFF A) st F
= (
All (it ,p));
existence by
A1;
uniqueness
proof
let x1,x2 be
bound_QC-variable of A;
given p1 be
Element of (
QC-WFF A) such that
A2: F
= (
All (x1,p1));
given p2 be
Element of (
QC-WFF A) such that
A3: F
= (
All (x2,p2));
(
<*
[3,
0 ]*>
^ (
<*x1*>
^ (
@ p1)))
= (
All (x2,p2)) by
A2,
A3,
FINSEQ_1: 32
.= (
<*
[3,
0 ]*>
^ (
<*x2*>
^ (
@ p2))) by
FINSEQ_1: 32;
then
A4: (
<*x1*>
^ (
@ p1))
= (
<*x2*>
^ (
@ p2)) by
FINSEQ_1: 33;
thus x1
= ((
<*x1*>
^ (
@ p1))
. 1) by
FINSEQ_1: 41
.= x2 by
A4,
FINSEQ_1: 41;
end;
::
QC_LANG1:def28
func
the_scope_of F ->
QC-formula of A means
:
Def28: ex x be
bound_QC-variable of A st F
= (
All (x,it ));
existence by
A1;
uniqueness
proof
let p1,p2 be
QC-formula of A;
given x1 be
bound_QC-variable of A such that
A5: F
= (
All (x1,p1));
given x2 be
bound_QC-variable of A such that
A6: F
= (
All (x2,p2));
(
<*
[3,
0 ]*>
^ (
<*x1*>
^ (
@ p1)))
= (
All (x2,p2)) by
A5,
A6,
FINSEQ_1: 32
.= (
<*
[3,
0 ]*>
^ (
<*x2*>
^ (
@ p2))) by
FINSEQ_1: 32;
then
A7: (
<*x1*>
^ (
@ p1))
= (
<*x2*>
^ (
@ p2)) by
FINSEQ_1: 33;
x1
= ((
<*x1*>
^ (
@ p1))
. 1) by
FINSEQ_1: 41
.= x2 by
A7,
FINSEQ_1: 41;
hence thesis by
A7,
FINSEQ_1: 33;
end;
end
reserve p for
Element of (
QC-WFF A);
theorem ::
QC_LANG1:14
Th14: p is
negative implies (
len (
@ (
the_argument_of p)))
< (
len (
@ p))
proof
assume
A1: p is
negative;
then
consider q be
Element of (
QC-WFF A) such that
A2: p
= (
'not' q);
(
len (
@ p))
= ((
len
<*
[1,
0 ]*>)
+ (
len (
@ q))) by
A2,
FINSEQ_1: 22
.= ((
len (
@ q))
+ 1) by
FINSEQ_1: 40;
then (
len (
@ q))
< (
len (
@ p)) by
NAT_1: 13;
hence thesis by
A1,
A2,
Def24;
end;
theorem ::
QC_LANG1:15
Th15: p is
conjunctive implies (
len (
@ (
the_left_argument_of p)))
< (
len (
@ p)) & (
len (
@ (
the_right_argument_of p)))
< (
len (
@ p))
proof
assume
A1: p is
conjunctive;
then
consider l,q be
Element of (
QC-WFF A) such that
A2: p
= (l
'&' q);
p
= (
<*
[2,
0 ]*>
^ ((
@ l)
^ (
@ q))) by
A2,
FINSEQ_1: 32;
then
A3: (
len (
@ p))
= ((
len
<*
[2,
0 ]*>)
+ (
len ((
@ l)
^ (
@ q)))) by
FINSEQ_1: 22
.= ((
len ((
@ l)
^ (
@ q)))
+ 1) by
FINSEQ_1: 40;
A4: ((
len (
@ q))
+ (
len (
@ l)))
= (
len ((
@ l)
^ (
@ q))) by
FINSEQ_1: 22;
then (
len (
@ q))
<= (
len ((
@ l)
^ (
@ q))) by
NAT_1: 11;
then
A5: (
len (
@ q))
< (
len (
@ p)) by
A3,
NAT_1: 13;
(
len (
@ l))
<= (
len ((
@ l)
^ (
@ q))) by
A4,
NAT_1: 11;
then (
len (
@ l))
< (
len (
@ p)) by
A3,
NAT_1: 13;
hence thesis by
A1,
A2,
A5,
Def25,
Def26;
end;
theorem ::
QC_LANG1:16
Th16: p is
universal implies (
len (
@ (
the_scope_of p)))
< (
len (
@ p))
proof
assume
A1: p is
universal;
then
consider x be
bound_QC-variable of A, q be
Element of (
QC-WFF A) such that
A2: p
= (
All (x,q));
((
len (
@ q))
+ (
len
<*x*>))
= (
len (
<*x*>
^ (
@ q))) by
FINSEQ_1: 22;
then
A3: (
len (
@ q))
<= (
len (
<*x*>
^ (
@ q))) by
NAT_1: 11;
p
= (
<*
[3,
0 ]*>
^ (
<*x*>
^ (
@ q))) by
A2,
FINSEQ_1: 32;
then (
len (
@ p))
= ((
len
<*
[3,
0 ]*>)
+ (
len (
<*x*>
^ (
@ q)))) by
FINSEQ_1: 22
.= ((
len (
<*x*>
^ (
@ q)))
+ 1) by
FINSEQ_1: 40;
then (
len (
@ q))
< (
len (
@ p)) by
A3,
NAT_1: 13;
hence thesis by
A1,
A2,
Def28;
end;
scheme ::
QC_LANG1:sch2
QCInd2 { A() ->
QC-alphabet , P[
Element of (
QC-WFF A())] } :
for p be
Element of (
QC-WFF A()) holds P[p]
provided
A1: for p be
Element of (
QC-WFF A()) holds (p is
atomic implies P[p]) & P[(
VERUM A())] & (p is
negative & P[(
the_argument_of p)] implies P[p]) & (p is
conjunctive & P[(
the_left_argument_of p)] & P[(
the_right_argument_of p)] implies P[p]) & (p is
universal & P[(
the_scope_of p)] implies P[p]);
A2:
now
let x be
bound_QC-variable of A(), p be
Element of (
QC-WFF A()) such that
A3: P[p];
A4: (
All (x,p)) is
universal;
then p
= (
the_scope_of (
All (x,p))) by
Def28;
hence P[(
All (x,p))] by
A1,
A3,
A4;
end;
A5:
now
let p be
Element of (
QC-WFF A()) such that
A6: P[p];
A7: (
'not' p) is
negative;
then p
= (
the_argument_of (
'not' p)) by
Def24;
hence P[(
'not' p)] by
A1,
A6,
A7;
end;
A8:
now
let p,q be
Element of (
QC-WFF A()) such that
A9: P[p] & P[q];
A10: (p
'&' q) is
conjunctive;
then p
= (
the_left_argument_of (p
'&' q)) & q
= (
the_right_argument_of (p
'&' q)) by
Def25,
Def26;
hence P[(p
'&' q)] by
A1,
A9,
A10;
end;
A11: for k be
Nat, P be
QC-pred_symbol of k, A(), ll be
QC-variable_list of k, A() holds P[(P
! ll)] by
A1,
Def18;
A12: P[(
VERUM A())] by
A1;
thus for p be
Element of (
QC-WFF A()) holds P[p] from
QCInd(
A11,
A12,
A5,
A8,
A2);
end;
reserve F for
Element of (
QC-WFF A);
theorem ::
QC_LANG1:17
Th17: for k be
Nat, P be
QC-pred_symbol of k, A holds (P
`1 )
<>
0 & (P
`1 )
<> 1 & (P
`1 )
<> 2 & (P
`1 )
<> 3
proof
let k be
Nat, P be
QC-pred_symbol of k, A;
reconsider P9 = P as
QC-pred_symbol of A;
(P9
`1 )
= (7
+ (
the_arity_of P9)) by
Def8;
hence thesis by
NAT_1: 11;
end;
theorem ::
QC_LANG1:18
Th18: (((
@ (
VERUM A))
. 1)
`1 )
=
0 & (F is
atomic implies ex k be
Nat st ((
@ F)
. 1) is
QC-pred_symbol of k, A) & (F is
negative implies (((
@ F)
. 1)
`1 )
= 1) & (F is
conjunctive implies (((
@ F)
. 1)
`1 )
= 2) & (F is
universal implies (((
@ F)
. 1)
`1 )
= 3)
proof
thus (((
@ (
VERUM A))
. 1)
`1 )
= (
[
0 ,
0 ]
`1 ) by
FINSEQ_1:def 8
.=
0 ;
thus F is
atomic implies ex k be
Nat st ((
@ F)
. 1) is
QC-pred_symbol of k, A
proof
assume F is
atomic;
then
consider k be
Nat, P be
QC-pred_symbol of k, A, ll be
QC-variable_list of k, A such that
A1: F
= (P
! ll);
(
@ F)
= (
<*P*>
^ ll) by
A1,
Th8;
then ((
@ F)
. 1)
= P by
FINSEQ_1: 41;
hence thesis;
end;
thus F is
negative implies (((
@ F)
. 1)
`1 )
= 1
proof
assume F is
negative;
then ex p be
Element of (
QC-WFF A) st F
= (
'not' p);
then ((
@ F)
. 1)
=
[1,
0 ] by
FINSEQ_1: 41;
hence thesis;
end;
thus F is
conjunctive implies (((
@ F)
. 1)
`1 )
= 2
proof
assume F is
conjunctive;
then
consider p,q be
Element of (
QC-WFF A) such that
A2: F
= (p
'&' q);
(
@ F)
= (
<*
[2,
0 ]*>
^ ((
@ p)
^ (
@ q))) by
A2,
FINSEQ_1: 32;
then ((
@ F)
. 1)
=
[2,
0 ] by
FINSEQ_1: 41;
hence thesis;
end;
thus F is
universal implies (((
@ F)
. 1)
`1 )
= 3
proof
assume F is
universal;
then
consider x be
bound_QC-variable of A, p be
Element of (
QC-WFF A) such that
A3: F
= (
All (x,p));
(
@ F)
= (
<*
[3,
0 ]*>
^ (
<*x*>
^ (
@ p))) by
A3,
FINSEQ_1: 32;
then ((
@ F)
. 1)
=
[3,
0 ] by
FINSEQ_1: 41;
hence thesis;
end;
end;
theorem ::
QC_LANG1:19
Th19: F is
atomic implies (((
@ F)
. 1)
`1 )
<>
0 & (((
@ F)
. 1)
`1 )
<> 1 & (((
@ F)
. 1)
`1 )
<> 2 & (((
@ F)
. 1)
`1 )
<> 3
proof
assume F is
atomic;
then ex k be
Nat st ((
@ F)
. 1) is
QC-pred_symbol of k, A by
Th18;
hence thesis by
Th17;
end;
reserve p for
Element of (
QC-WFF A);
theorem ::
QC_LANG1:20
Th20: not ((
VERUM A) is
atomic or (
VERUM A) is
negative or (
VERUM A) is
conjunctive or (
VERUM A) is
universal) & not (ex p st p is
atomic & p is
negative or p is
atomic & p is
conjunctive or p is
atomic & p is
universal or p is
negative & p is
conjunctive or p is
negative & p is
universal or p is
conjunctive & p is
universal)
proof
(((
@ (
VERUM A))
. 1)
`1 )
=
0 by
Th18;
hence not ((
VERUM A) is
atomic or (
VERUM A) is
negative or (
VERUM A) is
conjunctive or (
VERUM A) is
universal) by
Th18,
Th19;
let p be
Element of (
QC-WFF A);
A1: p is
conjunctive implies (((
@ p)
. 1)
`1 )
= 2 by
Th18;
A2: p is
universal implies (((
@ p)
. 1)
`1 )
= 3 by
Th18;
p is
negative implies (((
@ p)
. 1)
`1 )
= 1 by
Th18;
hence thesis by
A1,
A2,
Th19;
end;
scheme ::
QC_LANG1:sch3
QCFuncEx { Al() ->
QC-alphabet , D() -> non
empty
set , V() ->
Element of D() , A(
Element of (
QC-WFF Al())) ->
Element of D() , N(
Element of D()) ->
Element of D() , C(
Element of D(),
Element of D()) ->
Element of D() , Q(
Element of (
QC-WFF Al()),
Element of D()) ->
Element of D() } :
ex F be
Function of (
QC-WFF Al()), D() st (F
. (
VERUM Al()))
= V() & for p be
Element of (
QC-WFF Al()) holds (p is
atomic implies (F
. p)
= A(p)) & (p is
negative implies (F
. p)
= N(.)) & (p is
conjunctive implies (F
. p)
= C(.,.)) & (p is
universal implies (F
. p)
= Q(p,.));
defpred
Pfn[
Function of (
QC-WFF Al()), D(),
Nat] means ($1
. (
VERUM Al()))
= V() & for p be
Element of (
QC-WFF Al()) st (
len (
@ p))
<= $2 holds (p is
atomic implies ($1
. p)
= A(p)) & (p is
negative implies ($1
. p)
= N(.)) & (p is
conjunctive implies ($1
. p)
= C(.,.)) & (p is
universal implies ($1
. p)
= Q(p,.));
defpred
Pfgp[
Element of D(),
Function of (
QC-WFF Al()), D(),
Element of (
QC-WFF Al())] means ($3
= (
VERUM Al()) implies $1
= V()) & ($3 is
atomic implies $1
= A($3)) & ($3 is
negative implies $1
= N(.)) & ($3 is
conjunctive implies $1
= C(.,.)) & ($3 is
universal implies $1
= Q($3,.));
defpred
S[
Nat] means ex F be
Function of (
QC-WFF Al()), D() st
Pfn[F, $1];
defpred
Qfn[
object,
object] means ex p be
Element of (
QC-WFF Al()) st p
= $1 & for g be
Function of (
QC-WFF Al()), D() st
Pfn[g, (
len (
@ p)) qua
Nat] holds $2
= (g
. p);
A1: for n be
Nat st
S[n] holds
S[(n
+ 1)]
proof
let n be
Nat;
given F be
Function of (
QC-WFF Al()), D() such that
A2:
Pfn[F, n];
defpred
R[
Element of (
QC-WFF Al()),
Element of D()] means ((
len (
@ $1))
<> (n
+ 1) implies $2
= (F
. $1)) & ((
len (
@ $1))
= (n
+ 1) implies
Pfgp[$2, F, $1]);
A3: for p be
Element of (
QC-WFF Al()) holds ex y be
Element of D() st
R[p, y]
proof
let p be
Element of (
QC-WFF Al());
now
per cases by
Th9;
case (
len (
@ p))
<> (n
+ 1);
take y = (F
. p);
thus y
= (F
. p);
end;
case
A4: (
len (
@ p))
= (n
+ 1) & p
= (
VERUM Al());
take y = V();
thus
Pfgp[y, F, p] by
A4,
Th20;
end;
case
A5: (
len (
@ p))
= (n
+ 1) & p is
atomic;
take y = A(p);
thus
Pfgp[y, F, p] by
A5,
Th20;
end;
case
A6: (
len (
@ p))
= (n
+ 1) & p is
negative;
take y = N(.);
thus
Pfgp[y, F, p] by
A6,
Th20;
end;
case
A7: (
len (
@ p))
= (n
+ 1) & p is
conjunctive;
take y = C(.,.);
thus
Pfgp[y, F, p] by
A7,
Th20;
end;
case
A8: (
len (
@ p))
= (n
+ 1) & p is
universal;
take y = Q(p,.);
thus
Pfgp[y, F, p] by
A8,
Th20;
end;
end;
hence thesis;
end;
consider G be
Function of (
QC-WFF Al()), D() such that
A9: for p be
Element of (
QC-WFF Al()) holds
R[p, (G
. p)] from
FUNCT_2:sch 3(
A3);
take H = G;
thus
Pfn[H, (n
+ 1)]
proof
thus (H
. (
VERUM Al()))
= V()
proof
per cases ;
suppose (
len (
@ (
VERUM Al())))
<> (n
+ 1);
hence thesis by
A2,
A9;
end;
suppose (
len (
@ (
VERUM Al())))
= (n
+ 1);
hence thesis by
A9;
end;
end;
let p be
Element of (
QC-WFF Al()) such that
A10: (
len (
@ p))
<= (n
+ 1);
thus p is
atomic implies (H
. p)
= A(p)
proof
now
per cases ;
suppose (
len (
@ p))
<> (n
+ 1);
then (
len (
@ p))
<= n & (H
. p)
= (F
. p) by
A9,
A10,
NAT_1: 8;
hence thesis by
A2;
end;
suppose (
len (
@ p))
= (n
+ 1);
hence thesis by
A9;
end;
end;
hence thesis;
end;
thus p is
negative implies (H
. p)
= N(.)
proof
assume
A11: p is
negative;
then (
len (
@ (
the_argument_of p)))
<> (n
+ 1) by
A10,
Th14;
then
A12: (H
. (
the_argument_of p))
= (F
. (
the_argument_of p)) by
A9;
now
per cases ;
suppose (
len (
@ p))
<> (n
+ 1);
then (
len (
@ p))
<= n & (H
. p)
= (F
. p) by
A9,
A10,
NAT_1: 8;
hence thesis by
A2,
A11,
A12;
end;
suppose (
len (
@ p))
= (n
+ 1);
hence thesis by
A9,
A11,
A12;
end;
end;
hence thesis;
end;
thus p is
conjunctive implies (H
. p)
= C(.,.)
proof
assume
A13: p is
conjunctive;
then (
len (
@ (
the_right_argument_of p)))
<> (n
+ 1) by
A10,
Th15;
then
A14: (H
. (
the_right_argument_of p))
= (F
. (
the_right_argument_of p)) by
A9;
(
len (
@ (
the_left_argument_of p)))
<> (n
+ 1) by
A10,
A13,
Th15;
then
A15: (H
. (
the_left_argument_of p))
= (F
. (
the_left_argument_of p)) by
A9;
now
per cases ;
suppose (
len (
@ p))
<> (n
+ 1);
then (
len (
@ p))
<= n & (H
. p)
= (F
. p) by
A9,
A10,
NAT_1: 8;
hence thesis by
A2,
A13,
A15,
A14;
end;
suppose (
len (
@ p))
= (n
+ 1);
hence thesis by
A9,
A13,
A15,
A14;
end;
end;
hence thesis;
end;
thus p is
universal implies (H
. p)
= Q(p,.)
proof
assume
A16: p is
universal;
then (
len (
@ (
the_scope_of p)))
<> (n
+ 1) by
A10,
Th16;
then
A17: (H
. (
the_scope_of p))
= (F
. (
the_scope_of p)) by
A9;
now
per cases ;
suppose (
len (
@ p))
<> (n
+ 1);
then (
len (
@ p))
<= n & (H
. p)
= (F
. p) by
A9,
A10,
NAT_1: 8;
hence thesis by
A2,
A16,
A17;
end;
suppose (
len (
@ p))
= (n
+ 1);
hence thesis by
A9,
A16,
A17;
end;
end;
hence thesis;
end;
end;
end;
A18:
S[
0 ]
proof
reconsider F = ((
QC-WFF Al())
--> V()) as
Function of (
QC-WFF Al()), D();
take F;
thus (F
. (
VERUM Al()))
= V() by
FUNCOP_1: 7;
let p be
Element of (
QC-WFF Al()) such that
A19: (
len (
@ p))
<=
0 ;
1
<= (
len (
@ p)) by
Th10;
hence thesis by
A19;
end;
A20: for n be
Nat holds
S[n] from
NAT_1:sch 2(
A18,
A1);
then
A21: ex G be
Function of (
QC-WFF Al()), D() st
Pfn[G, (
len (
@ (
VERUM Al()))) qua
Nat];
A22: for x be
object st x
in (
QC-WFF Al()) holds ex y be
object st
Qfn[x, y]
proof
let x be
object;
assume x
in (
QC-WFF Al());
then
reconsider x9 = x as
Element of (
QC-WFF Al());
consider F be
Function of (
QC-WFF Al()), D() such that
A23:
Pfn[F, (
len (
@ x9)) qua
Nat] by
A20;
take (F
. x), x9;
thus x
= x9;
let G be
Function of (
QC-WFF Al()), D() such that
A24:
Pfn[G, (
len (
@ x9)) qua
Nat];
defpred
Prop[
Element of (
QC-WFF Al())] means (
len (
@ $1))
<= (
len (
@ x9)) implies (F
. $1)
= (G
. $1);
A25:
now
let p be
Element of (
QC-WFF Al());
thus p is
atomic implies
Prop[p]
proof
assume
A26: p is
atomic & (
len (
@ p))
<= (
len (
@ x9));
hence (F
. p)
= A(p) by
A23
.= (G
. p) by
A24,
A26;
end;
thus
Prop[(
VERUM Al())] by
A23,
A24;
thus p is
negative &
Prop[(
the_argument_of p)] implies
Prop[p]
proof
assume that
A27: p is
negative and
A28:
Prop[(
the_argument_of p)] and
A29: (
len (
@ p))
<= (
len (
@ x9));
(
len (
@ (
the_argument_of p)))
< (
len (
@ p)) by
A27,
Th14;
hence (F
. p)
= N(.) by
A23,
A27,
A28,
A29,
XXREAL_0: 2
.= (G
. p) by
A24,
A27,
A29;
end;
thus p is
conjunctive &
Prop[(
the_left_argument_of p)] &
Prop[(
the_right_argument_of p)] implies
Prop[p]
proof
assume that
A30: p is
conjunctive and
A31:
Prop[(
the_left_argument_of p)] &
Prop[(
the_right_argument_of p)] and
A32: (
len (
@ p))
<= (
len (
@ x9));
(
len (
@ (
the_left_argument_of p)))
< (
len (
@ p)) & (
len (
@ (
the_right_argument_of p)))
< (
len (
@ p)) by
A30,
Th15;
hence (F
. p)
= C(.,.) by
A23,
A30,
A31,
A32,
XXREAL_0: 2
.= (G
. p) by
A24,
A30,
A32;
end;
thus p is
universal &
Prop[(
the_scope_of p)] implies
Prop[p]
proof
assume that
A33: p is
universal and
A34:
Prop[(
the_scope_of p)] and
A35: (
len (
@ p))
<= (
len (
@ x9));
(
len (
@ (
the_scope_of p)))
< (
len (
@ p)) by
A33,
Th16;
hence (F
. p)
= Q(p,.) by
A23,
A33,
A34,
A35,
XXREAL_0: 2
.= (G
. p) by
A24,
A33,
A35;
end;
end;
for p be
Element of (
QC-WFF Al()) holds
Prop[p] from
QCInd2(
A25);
hence thesis;
end;
consider F be
Function such that
A36: (
dom F)
= (
QC-WFF Al()) and
A37: for x be
object st x
in (
QC-WFF Al()) holds
Qfn[x, (F
. x)] from
CLASSES1:sch 1(
A22);
(
rng F)
c= D()
proof
let y be
object;
assume y
in (
rng F);
then
consider x be
object such that
A38: x
in (
QC-WFF Al()) & y
= (F
. x) by
A36,
FUNCT_1:def 3;
consider p be
Element of (
QC-WFF Al()) such that p
= x and
A39: for g be
Function of (
QC-WFF Al()), D() st
Pfn[g, (
len (
@ p)) qua
Element of
NAT ] holds y
= (g
. p) by
A37,
A38;
consider G be
Function of (
QC-WFF Al()), D() such that
A40:
Pfn[G, (
len (
@ p)) qua
Nat] by
A20;
y
= (G
. p) by
A39,
A40;
hence thesis;
end;
then
reconsider F as
Function of (
QC-WFF Al()), D() by
A36,
FUNCT_2:def 1,
RELSET_1: 4;
take F;
Qfn[(
VERUM Al()), (F
. (
VERUM Al()))] by
A37;
hence (F
. (
VERUM Al()))
= V() by
A21;
let p be
Element of (
QC-WFF Al());
consider p1 be
Element of (
QC-WFF Al()) such that
A41: p1
= p and
A42: for g be
Function of (
QC-WFF Al()), D() st
Pfn[g, (
len (
@ p1)) qua
Element of
NAT ] holds (F
. p)
= (g
. p1) by
A37;
consider G be
Function of (
QC-WFF Al()), D() such that
A43:
Pfn[G, (
len (
@ p1)) qua
Nat] by
A20;
set p9 = (
the_scope_of p);
A44: ex p1 be
Element of (
QC-WFF Al()) st p1
= p9 & for g be
Function of (
QC-WFF Al()), D() st
Pfn[g, (
len (
@ p1)) qua
Nat] holds (F
. p9)
= (g
. p1) by
A37;
A45: (F
. p)
= (G
. p) by
A41,
A42,
A43;
hence p is
atomic implies (F
. p)
= A(p) by
A41,
A43;
A46: for k be
Nat st k
< (
len (
@ p)) holds
Pfn[G, k]
proof
let k be
Nat;
assume
A47: k
< (
len (
@ p));
thus (G
. (
VERUM Al()))
= V() by
A43;
let p9 be
Element of (
QC-WFF Al());
assume (
len (
@ p9))
<= k;
then (
len (
@ p9))
<= (
len (
@ p)) by
A47,
XXREAL_0: 2;
hence thesis by
A41,
A43;
end;
thus p is
negative implies (F
. p)
= N(.)
proof
set p9 = (
the_argument_of p);
set k = (
len (
@ p9));
A48: ex p1 be
Element of (
QC-WFF Al()) st p1
= p9 & for g be
Function of (
QC-WFF Al()), D() st
Pfn[g, (
len (
@ p1)) qua
Nat] holds (F
. p9)
= (g
. p1) by
A37;
assume
A49: p is
negative;
then k
< (
len (
@ p)) by
Th14;
then
Pfn[G, k qua
Nat] by
A46;
then (F
. p9)
= (G
. p9) by
A48;
hence thesis by
A41,
A43,
A45,
A49;
end;
thus p is
conjunctive implies (F
. p)
= C(.,.)
proof
set p99 = (
the_right_argument_of p);
set p9 = (
the_left_argument_of p);
set k9 = (
len (
@ p9));
set k99 = (
len (
@ p99));
A50: ex p2 be
Element of (
QC-WFF Al()) st p2
= p99 & for g be
Function of (
QC-WFF Al()), D() st
Pfn[g, (
len (
@ p2)) qua
Nat] holds (F
. p99)
= (g
. p2) by
A37;
assume
A51: p is
conjunctive;
then k9
< (
len (
@ p)) by
Th15;
then
A52:
Pfn[G, k9 qua
Nat] by
A46;
k99
< (
len (
@ p)) by
A51,
Th15;
then
Pfn[G, k99 qua
Nat] by
A46;
then
A53: (F
. p99)
= (G
. p99) by
A50;
ex p1 be
Element of (
QC-WFF Al()) st p1
= p9 & for g be
Function of (
QC-WFF Al()), D() st
Pfn[g, (
len (
@ p1)) qua
Nat] holds (F
. p9)
= (g
. p1) by
A37;
then (F
. p9)
= (G
. p9) by
A52;
hence thesis by
A41,
A43,
A45,
A51,
A53;
end;
set k = (
len (
@ p9));
assume
A54: p is
universal;
then k
< (
len (
@ p)) by
Th16;
then
Pfn[G, k qua
Nat] by
A46;
then (F
. p9)
= (G
. p9) by
A44;
hence thesis by
A41,
A43,
A45,
A54;
end;
reserve j,k for
Nat;
definition
let A be
QC-alphabet;
let ll be
FinSequence of (
QC-variables A);
::
QC_LANG1:def29
func
still_not-bound_in ll ->
Subset of (
bound_QC-variables A) equals { (ll
. k) : 1
<= k & k
<= (
len ll) & (ll
. k)
in (
bound_QC-variables A) };
coherence
proof
set IT = { (ll
. k) : 1
<= k & k
<= (
len ll) & (ll
. k)
in (
bound_QC-variables A) };
now
let x be
object;
assume x
in IT;
then ex k be
Nat st x
= (ll
. k) & 1
<= k & k
<= (
len ll) & (ll
. k)
in (
bound_QC-variables A);
hence x
in (
bound_QC-variables A);
end;
hence thesis by
TARSKI:def 3;
end;
end
reserve k for
Nat;
definition
let A be
QC-alphabet;
let p be
QC-formula of A;
::
QC_LANG1:def30
func
still_not-bound_in p ->
Subset of (
bound_QC-variables A) means ex F be
Function of (
QC-WFF A), (
bool (
bound_QC-variables A)) st it
= (F
. p) & for p be
Element of (
QC-WFF A) holds (F
. (
VERUM A))
=
{} & (p is
atomic implies (F
. p)
= { ((
the_arguments_of p)
. k) : 1
<= k & k
<= (
len (
the_arguments_of p)) & ((
the_arguments_of p)
. k)
in (
bound_QC-variables A) }) & (p is
negative implies (F
. p)
= (F
. (
the_argument_of p))) & (p is
conjunctive implies (F
. p)
= ((F
. (
the_left_argument_of p))
\/ (F
. (
the_right_argument_of p)))) & (p is
universal implies (F
. p)
= ((F
. (
the_scope_of p))
\
{(
bound_in p)}));
existence
proof
deffunc
Q(
Element of (
QC-WFF A),
Subset of (
bound_QC-variables A)) = ($2
\
{(
bound_in $1)});
deffunc
C(
Subset of (
bound_QC-variables A),
Subset of (
bound_QC-variables A)) = ($1
\/ $2);
deffunc
N(
Subset of (
bound_QC-variables A)) = $1;
deffunc
A(
Element of (
QC-WFF A)) = (
still_not-bound_in (
the_arguments_of $1));
reconsider Emp =
{} as
Subset of (
bound_QC-variables A) by
XBOOLE_1: 2;
consider F be
Function of (
QC-WFF A), (
bool (
bound_QC-variables A)) such that
A1: (F
. (
VERUM A))
= Emp & for p be
Element of (
QC-WFF A) holds (p is
atomic implies (F
. p)
=
A(p)) & (p is
negative implies (F
. p)
=
N(.)) & (p is
conjunctive implies (F
. p)
=
C(.,.)) & (p is
universal implies (F
. p)
=
Q(p,.)) from
QCFuncEx;
take (F
. p), F;
thus (F
. p)
= (F
. p);
let p be
Element of (
QC-WFF A);
thus (F
. (
VERUM A))
=
{} by
A1;
thus p is
atomic implies (F
. p)
= { ((
the_arguments_of p)
. k) : 1
<= k & k
<= (
len (
the_arguments_of p)) & ((
the_arguments_of p)
. k)
in (
bound_QC-variables A) }
proof
assume p is
atomic;
then (F
. p)
= (
still_not-bound_in (
the_arguments_of p)) by
A1;
hence thesis;
end;
thus p is
negative implies (F
. p)
= (F
. (
the_argument_of p)) by
A1;
thus p is
conjunctive implies (F
. p)
= ((F
. (
the_left_argument_of p))
\/ (F
. (
the_right_argument_of p))) by
A1;
assume p is
universal;
hence thesis by
A1;
end;
uniqueness
proof
let IT,IT9 be
Subset of (
bound_QC-variables A);
given F1 be
Function of (
QC-WFF A), (
bool (
bound_QC-variables A)) such that
A2: IT
= (F1
. p) and
A3: for p be
Element of (
QC-WFF A) holds (F1
. (
VERUM A))
=
{} & (p is
atomic implies (F1
. p)
= { ((
the_arguments_of p)
. k) : 1
<= k & k
<= (
len (
the_arguments_of p)) & ((
the_arguments_of p)
. k)
in (
bound_QC-variables A) }) & (p is
negative implies (F1
. p)
= (F1
. (
the_argument_of p))) & (p is
conjunctive implies (F1
. p)
= ((F1
. (
the_left_argument_of p))
\/ (F1
. (
the_right_argument_of p)))) & (p is
universal implies (F1
. p)
= ((F1
. (
the_scope_of p))
\
{(
bound_in p)}));
given F2 be
Function of (
QC-WFF A), (
bool (
bound_QC-variables A)) such that
A4: IT9
= (F2
. p) and
A5: for p be
Element of (
QC-WFF A) holds (F2
. (
VERUM A))
=
{} & (p is
atomic implies (F2
. p)
= { ((
the_arguments_of p)
. k) : 1
<= k & k
<= (
len (
the_arguments_of p)) & ((
the_arguments_of p)
. k)
in (
bound_QC-variables A) }) & (p is
negative implies (F2
. p)
= (F2
. (
the_argument_of p))) & (p is
conjunctive implies (F2
. p)
= ((F2
. (
the_left_argument_of p))
\/ (F2
. (
the_right_argument_of p)))) & (p is
universal implies (F2
. p)
= ((F2
. (
the_scope_of p))
\
{(
bound_in p)}));
defpred
Prop[
Element of (
QC-WFF A)] means (F1
. $1)
= (F2
. $1);
A6: for k be
Nat, P be
QC-pred_symbol of k, A, ll be
QC-variable_list of k, A holds
Prop[(P
! ll)]
proof
let k be
Nat, P be
QC-pred_symbol of k, A, ll be
QC-variable_list of k, A;
A7: (P
! ll) is
atomic;
then
A8: (
the_arguments_of (P
! ll))
= ll by
Def23;
hence (F1
. (P
! ll))
= { (ll
. j) : 1
<= j & j
<= (
len ll) & (ll
. j)
in (
bound_QC-variables A) } by
A3,
A7
.= (F2
. (P
! ll)) by
A5,
A7,
A8;
end;
A9: for p be
Element of (
QC-WFF A) st
Prop[p] holds
Prop[(
'not' p)]
proof
let p be
Element of (
QC-WFF A) such that
A10: (F1
. p)
= (F2
. p);
A11: (
'not' p) is
negative;
then
A12: (
the_argument_of (
'not' p))
= p by
Def24;
hence (F1
. (
'not' p))
= (F2
. p) by
A3,
A10,
A11
.= (F2
. (
'not' p)) by
A5,
A11,
A12;
end;
A13: for x be
bound_QC-variable of A, p be
Element of (
QC-WFF A) holds
Prop[p] implies
Prop[(
All (x,p))]
proof
let x be
bound_QC-variable of A, p be
Element of (
QC-WFF A) such that
A14: (F1
. p)
= (F2
. p);
A15: (
All (x,p)) is
universal;
then
A16: (
the_scope_of (
All (x,p)))
= p & (
bound_in (
All (x,p)))
= x by
Def27,
Def28;
hence (F1
. (
All (x,p)))
= ((F2
. p)
\
{x}) by
A3,
A14,
A15
.= (F2
. (
All (x,p))) by
A5,
A15,
A16;
end;
A17: for p,q be
Element of (
QC-WFF A) st
Prop[p] &
Prop[q] holds
Prop[(p
'&' q)]
proof
let p,q be
Element of (
QC-WFF A) such that
A18: (F1
. p)
= (F2
. p) & (F1
. q)
= (F2
. q);
A19: (p
'&' q) is
conjunctive;
then
A20: (
the_left_argument_of (p
'&' q))
= p & (
the_right_argument_of (p
'&' q))
= q by
Def25,
Def26;
hence (F1
. (p
'&' q))
= ((F2
. p)
\/ (F2
. q)) by
A3,
A18,
A19
.= (F2
. (p
'&' q)) by
A5,
A19,
A20;
end;
A21:
Prop[(
VERUM A)] by
A3,
A5;
for p be
Element of (
QC-WFF A) holds
Prop[p] from
QCInd(
A6,
A21,
A9,
A17,
A13);
hence thesis by
A2,
A4;
end;
end
definition
let A be
QC-alphabet;
let p be
QC-formula of A;
::
QC_LANG1:def31
attr p is
closed means (
still_not-bound_in p)
=
{} ;
end
reserve s,t,u,v for
QC-symbol of A;
definition
let A;
::
QC_LANG1:def32
mode
Relation of A ->
Relation means
:
Def32: it
well_orders ((
QC-symbols A)
\
NAT );
existence by
WELLORD2: 17;
end
definition
let A, s, t;
::
QC_LANG1:def33
pred s
<= t means
:
Def33: ex n, m st n
= s & m
= t & n
<= m if s
in
NAT & t
in
NAT ,
[s, t]
in the
Relation of A if not s
in
NAT & not t
in
NAT
otherwise t
in
NAT ;
consistency ;
end
definition
let A, s, t;
::
QC_LANG1:def34
pred s
< t means s
<= t & s
<> t;
end
theorem ::
QC_LANG1:21
Th21: s
<= t & t
<= u implies s
<= u
proof
set R = the
Relation of A;
R
well_orders ((
QC-symbols A)
\
NAT ) by
Def32;
then
A1: R
is_transitive_in ((
QC-symbols A)
\
NAT ) by
WELLORD1:def 5;
assume
A2: s
<= t & t
<= u;
per cases ;
suppose
A3: s
in
NAT ;
then
A4: t
in
NAT by
A2,
Def33;
then
A5: u
in
NAT by
A2,
Def33;
consider m, n such that
A6: s
= m & t
= n & m
<= n by
A2,
A3,
A4,
Def33;
consider k, j such that
A7: t
= k & u
= j & k
<= j by
A2,
A4,
A5,
Def33;
m
<= j by
A6,
A7,
XXREAL_0: 2;
hence s
<= u by
A6,
A7,
Def33,
A3,
A5;
end;
suppose
A8: not s
in
NAT ;
per cases ;
suppose t
in
NAT ;
then u
in
NAT by
A2,
Def33;
hence thesis by
A8,
Def33;
end;
suppose
A9: not t
in
NAT ;
per cases ;
suppose u
in
NAT ;
hence thesis by
A8,
Def33;
end;
suppose
A10: not u
in
NAT ;
then
A11: s
in ((
QC-symbols A)
\
NAT ) & t
in ((
QC-symbols A)
\
NAT ) & u
in ((
QC-symbols A)
\
NAT ) by
A8,
A9,
XBOOLE_0:def 5;
[s, t]
in R &
[t, u]
in R by
A2,
A8,
A9,
A10,
Def33;
then
[s, u]
in R by
A1,
A11,
RELAT_2:def 8;
hence thesis by
A8,
A10,
Def33;
end;
end;
end;
end;
theorem ::
QC_LANG1:22
Th22: t
<= t
proof
set R = the
Relation of A;
R
well_orders ((
QC-symbols A)
\
NAT ) by
Def32;
then
A1: R
is_reflexive_in ((
QC-symbols A)
\
NAT ) by
WELLORD1:def 5;
per cases ;
suppose t
in
NAT ;
hence thesis by
Def33;
end;
suppose
A2: not t
in
NAT ;
then t
in ((
QC-symbols A)
\
NAT ) by
XBOOLE_0:def 5;
then
[t, t]
in the
Relation of A by
A1,
RELAT_2:def 1;
hence thesis by
A2,
Def33;
end;
end;
theorem ::
QC_LANG1:23
Th23: t
<= u & u
<= t implies u
= t
proof
set R = the
Relation of A;
R
well_orders ((
QC-symbols A)
\
NAT ) by
Def32;
then
A1: R
is_antisymmetric_in ((
QC-symbols A)
\
NAT ) by
WELLORD1:def 5;
assume
A2: t
<= u & u
<= t;
per cases ;
suppose
A3: t
in
NAT & u
in
NAT ;
then
consider n, m such that
A4: t
= n & u
= m & n
<= m by
A2,
Def33;
consider k, j such that
A5: u
= k & t
= j & k
<= j by
A2,
A3,
Def33;
thus thesis by
A4,
A5,
XXREAL_0: 1;
end;
suppose not t
in
NAT or not u
in
NAT ;
per cases ;
suppose not t
in
NAT ;
then
A6: not t
in
NAT & not u
in
NAT by
A2,
Def33;
then
A7: t
in ((
QC-symbols A)
\
NAT ) & u
in ((
QC-symbols A)
\
NAT ) by
XBOOLE_0:def 5;
[t, u]
in R &
[u, t]
in R by
A2,
A6,
Def33;
hence u
= t by
A1,
A7,
RELAT_2:def 4;
end;
suppose not u
in
NAT ;
then
A8: not t
in
NAT & not u
in
NAT by
A2,
Def33;
then
A9: t
in ((
QC-symbols A)
\
NAT ) & u
in ((
QC-symbols A)
\
NAT ) by
XBOOLE_0:def 5;
[t, u]
in R &
[u, t]
in R by
A2,
A8,
Def33;
hence u
= t by
A1,
A9,
RELAT_2:def 4;
end;
end;
end;
theorem ::
QC_LANG1:24
Th24: t
<= u or u
<= t
proof
set R = the
Relation of A;
R
well_orders ((
QC-symbols A)
\
NAT ) by
Def32;
then R
is_connected_in ((
QC-symbols A)
\
NAT ) & R
is_reflexive_in ((
QC-symbols A)
\
NAT ) by
WELLORD1:def 5;
then
A1: R
is_strongly_connected_in ((
QC-symbols A)
\
NAT ) by
ORDERS_1: 7;
per cases ;
suppose
A2: t
in
NAT & u
in
NAT ;
then
consider n, m such that
A3: n
= t & m
= u;
n
<= m or m
<= n;
hence thesis by
A3,
Def33,
A2;
end;
suppose not t
in
NAT or not u
in
NAT ;
per cases ;
suppose
A4: not t
in
NAT ;
per cases ;
suppose u
in
NAT ;
hence thesis by
A4,
Def33;
end;
suppose
A5: not u
in
NAT ;
then t
in ((
QC-symbols A)
\
NAT ) & u
in ((
QC-symbols A)
\
NAT ) by
A4,
XBOOLE_0:def 5;
then
[t, u]
in R or
[u, t]
in R by
A1,
RELAT_2:def 7;
hence thesis by
A4,
A5,
Def33;
end;
end;
suppose
A6: not u
in
NAT ;
per cases ;
suppose t
in
NAT ;
hence thesis by
A6,
Def33;
end;
suppose
A7: not t
in
NAT ;
then t
in ((
QC-symbols A)
\
NAT ) & u
in ((
QC-symbols A)
\
NAT ) by
A6,
XBOOLE_0:def 5;
then
[u, t]
in R or
[t, u]
in R by
A1,
RELAT_2:def 7;
hence thesis by
A6,
A7,
Def33;
end;
end;
end;
end;
theorem ::
QC_LANG1:25
Th25: s
< t iff not t
<= s by
Th23,
Th24;
theorem ::
QC_LANG1:26
s
< t or s
= t or t
< s by
Th25;
definition
let A;
let Y be non
empty
Subset of (
QC-symbols A);
::
QC_LANG1:def35
func
min Y ->
QC-symbol of A means
:
Def35: it
in Y & for t st t
in Y holds it
<= t;
existence
proof
per cases ;
suppose Y
c=
NAT ;
then
reconsider Y as non
empty
Subset of
NAT ;
set y = (
min* Y);
NAT
c= (
QC-symbols A) by
Th3;
then
reconsider yp = y as
QC-symbol of A;
take yp;
for t st t
in Y holds yp
<= t
proof
let t;
assume
A1: t
in Y;
reconsider t as
Nat by
A1;
y
<= t by
A1,
NAT_1:def 1;
hence thesis by
A1,
Def33;
end;
hence thesis by
NAT_1:def 1;
end;
suppose not Y
c=
NAT ;
then
consider a be
object such that
A2: a
in Y & not a
in
NAT ;
set R = the
Relation of A;
R
well_orders ((
QC-symbols A)
\
NAT ) & (Y
\
NAT )
<>
{} by
A2,
Def32,
XBOOLE_0:def 5;
then
consider y be
object such that
A3: (y
in (Y
\
NAT ) & (for b be
object st b
in (Y
\
NAT ) holds
[y, b]
in R)) by
WELLORD1: 5,
XBOOLE_1: 33;
reconsider y as
QC-symbol of A by
A3;
A4: not y
in
NAT & y
in Y by
A3,
XBOOLE_0:def 5;
for s st s
in Y holds y
<= s
proof
let s;
assume
A5: s
in Y;
per cases ;
suppose s
in
NAT ;
hence thesis by
A4,
Def33;
end;
suppose
A6: not s
in
NAT ;
then s
in (Y
\
NAT ) by
A5,
XBOOLE_0:def 5;
then
[y, s]
in R by
A3;
hence thesis by
A4,
A6,
Def33;
end;
end;
hence thesis by
A4;
end;
end;
uniqueness
proof
let t, u such that
A7: (t
in Y & for s st s
in Y holds t
<= s) & (u
in Y & for s st s
in Y holds u
<= s);
t
<= u & u
<= t by
A7;
hence thesis by
Th23;
end;
end
definition
let A;
::
QC_LANG1:def36
func
0 (A) ->
QC-symbol of A means for t holds it
<= t;
existence
proof
(
QC-symbols A)
c= (
QC-symbols A);
then
reconsider symb = (
QC-symbols A) as non
empty
Subset of (
QC-symbols A);
set z = (
min symb);
take z;
thus thesis by
Def35;
end;
uniqueness
proof
let s, t such that
A1: (for u holds s
<= u) & (for u holds t
<= u);
s
<= t & t
<= s by
A1;
hence thesis by
Th23;
end;
end
definition
let A, s;
::
QC_LANG1:def37
func
Seg s -> non
empty
Subset of (
QC-symbols A) equals { t : s
< t };
coherence
proof
set e = { t : s
< t };
A1: e
c= (
QC-symbols A)
proof
let a be
object;
assume a
in e;
then
consider t such that
A2: a
= t & s
< t;
thus thesis by
A2;
end;
ex a be
set st a
in e
proof
per cases ;
suppose
A3: s
in
NAT ;
then
consider n such that
A4: s
= n;
reconsider a = (n
+ 1) as
Nat;
NAT
c= (
QC-symbols A) by
Th3;
then
reconsider b = a as
QC-symbol of A;
not n
= a & n
<= a by
NAT_1: 19;
then s
<= b & not s
= b by
A4,
Def33,
A3;
then s
< b;
then b
in { t : s
< t };
hence thesis;
end;
suppose
A5: not s
in
NAT ;
reconsider a =
0 as
QC-symbol of A by
Th3;
not s
= a & s
<= a by
A5,
Def33;
then s
< a;
then a
in e;
hence thesis;
end;
end;
hence thesis by
A1;
end;
end
definition
let A, s;
::
QC_LANG1:def38
func s
++ ->
QC-symbol of A equals (
min (
Seg s));
coherence ;
end
theorem ::
QC_LANG1:27
Th27: s
< (s
++ )
proof
(s
++ )
in (
Seg s) by
Def35;
then
consider t such that
A1: t
= (s
++ ) & s
< t;
thus thesis by
A1;
end;
theorem ::
QC_LANG1:28
for Y1,Y2 be non
empty
Subset of (
QC-symbols A) st Y1
c= Y2 holds (
min Y2)
<= (
min Y1)
proof
let Y1,Y2 be non
empty
Subset of (
QC-symbols A) such that
A1: Y1
c= Y2;
(
min Y1)
in Y1 by
Def35;
hence (
min Y2)
<= (
min Y1) by
A1,
Def35;
end;
theorem ::
QC_LANG1:29
Th29: s
<= t & t
< v implies s
< v by
Th21,
Th25;
theorem ::
QC_LANG1:30
s
< t & t
<= v implies s
< v by
Th21,
Th25;
definition
let A;
let s be
set;
::
QC_LANG1:def39
func s
@ A ->
QC-symbol of A equals
:
Def39: s if s is
QC-symbol of A
otherwise
0 ;
correctness by
Th3;
end
definition
let A, t, n;
::
QC_LANG1:def40
func t
+ n ->
QC-symbol of A means
:
Def40: ex f be
sequence of (
QC-symbols A) st it
= (f
. n) & (f
.
0 )
= t & for k holds (f
. (k
+ 1))
= ((f
. k)
++ );
existence
proof
deffunc
F(
set,
set) = (($2
@ A)
++ );
consider f be
sequence of (
QC-symbols A) such that
A1: (f
.
0 )
= t & for k be
Nat holds (f
. (k
+ 1))
=
F(k,.) from
NAT_1:sch 12;
take (f
. n);
for k holds (f
. (k
+ 1))
= ((f
. k)
++ )
proof
let k;
((f
. k)
++ )
=
F(k,.) &
F(k,.)
= (f
. (k
+ 1)) by
A1,
Def39;
hence thesis;
end;
hence thesis by
A1;
end;
uniqueness
proof
let u, v such that
A2: (ex f be
sequence of (
QC-symbols A) st (f
. n)
= u & (f
.
0 )
= t & for k holds (f
. (k
+ 1))
= ((f
. k)
++ )) & (ex g be
sequence of (
QC-symbols A) st (g
. n)
= v & (g
.
0 )
= t & for k holds (g
. (k
+ 1))
= ((g
. k)
++ ));
consider f be
sequence of (
QC-symbols A) such that
A3: (f
. n)
= u & (f
.
0 )
= t & for k holds (f
. (k
+ 1))
= ((f
. k)
++ ) by
A2;
consider g be
sequence of (
QC-symbols A) such that
A4: (g
. n)
= v & (g
.
0 )
= t & for k holds (g
. (k
+ 1))
= ((g
. k)
++ ) by
A2;
defpred
P[
Nat] means (f
. $1)
= (g
. $1);
A5:
P[
0 ] by
A3,
A4;
A6: for k st
P[k] holds
P[(k
+ 1)]
proof
let k;
assume
A7:
P[k];
thus (f
. (k
+ 1))
= ((f
. k)
++ ) by
A3
.= (g
. (k
+ 1)) by
A4,
A7;
end;
for k holds
P[k] from
NAT_1:sch 2(
A5,
A6);
hence thesis by
A3,
A4;
end;
end
theorem ::
QC_LANG1:31
t
<= (t
+ n)
proof
defpred
P[
Nat] means t
<= (t
+ $1);
A1:
P[
0 ]
proof
consider f be
sequence of (
QC-symbols A) such that
A2: (t
+
0 )
= (f
.
0 ) & (f
.
0 )
= t & for k holds (f
. (k
+ 1))
= ((f
. k)
++ ) by
Def40;
thus thesis by
A2,
Th22;
end;
A3: for k st
P[k] holds
P[(k
+ 1)]
proof
let k such that
A4: t
<= (t
+ k);
consider f be
sequence of (
QC-symbols A) such that
A5: (t
+ (k
+ 1))
= (f
. (k
+ 1)) & (f
.
0 )
= t & for k holds (f
. (k
+ 1))
= ((f
. k)
++ ) by
Def40;
(f
. k)
= (t
+ k) by
A5,
Def40;
then (f
. (k
+ 1))
= ((t
+ k)
++ ) by
A5;
then t
< (t
+ (k
+ 1)) by
A5,
A4,
Th27,
Th29;
hence thesis;
end;
for n holds
P[n] from
NAT_1:sch 2(
A1,
A3);
hence thesis;
end;
definition
let A;
let Y be
set;
::
QC_LANG1:def41
func A
-one_in Y ->
QC-symbol of A equals the
Element of Y if Y is non
empty
Subset of (
QC-symbols A)
otherwise (
0 A);
coherence
proof
thus Y is non
empty
Subset of (
QC-symbols A) implies the
Element of Y is
QC-symbol of A
proof
assume
A1: Y is non
empty
Subset of (
QC-symbols A);
consider a be
set such that
A2: a
= the
Element of Y;
A3: a
in Y by
A1,
A2;
a is
QC-symbol of A by
A1,
A3;
hence thesis by
A2;
end;
thus not Y is non
empty
Subset of (
QC-symbols A) implies (
0 A) is
QC-symbol of A;
end;
consistency ;
end