defpred S1[ Function of (QC-WFF F1()),F2(), Nat] means ( $1 . (VERUM F1()) = F3() & ( for p being Element of QC-WFF F1() st len (@ p) <= $2 holds
( ( p is atomic implies $1 . p = F4(p) ) & ( p is negative implies $1 . p = F5(($1 . (the_argument_of p))) ) & ( p is conjunctive implies $1 . p = F6(($1 . (the_left_argument_of p)),($1 . (the_right_argument_of p))) ) & ( p is universal implies $1 . p = F7(p,($1 . (the_scope_of p))) ) ) ) );
defpred S2[ Element of F2(), Function of (QC-WFF F1()),F2(), Element of QC-WFF F1()] means ( ( $3 = VERUM F1() implies $1 = F3() ) & ( $3 is atomic implies $1 = F4($3) ) & ( $3 is negative implies $1 = F5(($2 . (the_argument_of $3))) ) & ( $3 is conjunctive implies $1 = F6(($2 . (the_left_argument_of $3)),($2 . (the_right_argument_of $3))) ) & ( $3 is universal implies $1 = F7($3,($2 . (the_scope_of $3))) ) );
defpred S3[ Nat] means ex F being Function of (QC-WFF F1()),F2() st S1[F,$1];
defpred S4[ object , object ] means ex p being Element of QC-WFF F1() st
( p = $1 & ( for g being Function of (QC-WFF F1()),F2() st S1[g, len (@ p)] holds
$2 = g . p ) );
A1:
for n being Nat st S3[n] holds
S3[n + 1]
proof
let n be
Nat;
( S3[n] implies S3[n + 1] )
given F being
Function of
(QC-WFF F1()),
F2()
such that A2:
S1[
F,
n]
;
S3[n + 1]
defpred S5[
Element of
QC-WFF F1(),
Element of
F2()]
means ( (
len (@ $1) <> n + 1 implies $2
= F . $1 ) & (
len (@ $1) = n + 1 implies
S2[$2,
F,$1] ) );
A3:
for
p being
Element of
QC-WFF F1() ex
y being
Element of
F2() st
S5[
p,
y]
proof
let p be
Element of
QC-WFF F1();
ex y being Element of F2() st S5[p,y]
now ( ( len (@ p) <> n + 1 & ex y being Element of F2() st y = F . p ) or ( len (@ p) = n + 1 & p = VERUM F1() & ex y being Element of F2() st S2[y,F,p] ) or ( len (@ p) = n + 1 & p is atomic & ex y being Element of F2() st S2[y,F,p] ) or ( len (@ p) = n + 1 & p is negative & ex y being Element of F2() st S2[y,F,p] ) or ( len (@ p) = n + 1 & p is conjunctive & ex y being Element of F2() st S2[y,F,p] ) or ( len (@ p) = n + 1 & p is universal & ex y being Element of F2() st S2[y,F,p] ) )per cases
( len (@ p) <> n + 1 or ( len (@ p) = n + 1 & p = VERUM F1() ) or ( len (@ p) = n + 1 & p is atomic ) or ( len (@ p) = n + 1 & p is negative ) or ( len (@ p) = n + 1 & p is conjunctive ) or ( len (@ p) = n + 1 & p is universal ) )
by Th9;
case A4:
(
len (@ p) = n + 1 &
p = VERUM F1() )
;
ex y being Element of F2() st S2[y,F,p]take y =
F3();
S2[y,F,p]thus
S2[
y,
F,
p]
by A4, Th20;
verum end; case A5:
(
len (@ p) = n + 1 &
p is
atomic )
;
ex y being Element of F2() st S2[y,F,p]take y =
F4(
p);
S2[y,F,p]thus
S2[
y,
F,
p]
by A5, Th20;
verum end; end; end;
hence
ex
y being
Element of
F2() st
S5[
p,
y]
;
verum
end;
consider G being
Function of
(QC-WFF F1()),
F2()
such that A9:
for
p being
Element of
QC-WFF F1() holds
S5[
p,
G . p]
from FUNCT_2:sch 3(A3);
take H =
G;
S1[H,n + 1]
thus
S1[
H,
n + 1]
verumproof
thus
H . (VERUM F1()) = F3()
for p being Element of QC-WFF F1() st len (@ p) <= n + 1 holds
( ( p is atomic implies H . p = F4(p) ) & ( p is negative implies H . p = F5((H . (the_argument_of p))) ) & ( p is conjunctive implies H . p = F6((H . (the_left_argument_of p)),(H . (the_right_argument_of p))) ) & ( p is universal implies H . p = F7(p,(H . (the_scope_of p))) ) )
let p be
Element of
QC-WFF F1();
( len (@ p) <= n + 1 implies ( ( p is atomic implies H . p = F4(p) ) & ( p is negative implies H . p = F5((H . (the_argument_of p))) ) & ( p is conjunctive implies H . p = F6((H . (the_left_argument_of p)),(H . (the_right_argument_of p))) ) & ( p is universal implies H . p = F7(p,(H . (the_scope_of p))) ) ) )
assume A10:
len (@ p) <= n + 1
;
( ( p is atomic implies H . p = F4(p) ) & ( p is negative implies H . p = F5((H . (the_argument_of p))) ) & ( p is conjunctive implies H . p = F6((H . (the_left_argument_of p)),(H . (the_right_argument_of p))) ) & ( p is universal implies H . p = F7(p,(H . (the_scope_of p))) ) )
thus
(
p is
atomic implies
H . p = F4(
p) )
( ( p is negative implies H . p = F5((H . (the_argument_of p))) ) & ( p is conjunctive implies H . p = F6((H . (the_left_argument_of p)),(H . (the_right_argument_of p))) ) & ( p is universal implies H . p = F7(p,(H . (the_scope_of p))) ) )
thus
(
p is
negative implies
H . p = F5(
(H . (the_argument_of p))) )
( ( p is conjunctive implies H . p = F6((H . (the_left_argument_of p)),(H . (the_right_argument_of p))) ) & ( p is universal implies H . p = F7(p,(H . (the_scope_of p))) ) )
thus
(
p is
conjunctive implies
H . p = F6(
(H . (the_left_argument_of p)),
(H . (the_right_argument_of p))) )
( p is universal implies H . p = F7(p,(H . (the_scope_of p))) )
thus
(
p is
universal implies
H . p = F7(
p,
(H . (the_scope_of p))) )
verum
end;
end;
A18:
S3[ 0 ]
proof
reconsider F =
(QC-WFF F1()) --> F3() as
Function of
(QC-WFF F1()),
F2() ;
take
F
;
S1[F, 0 ]
thus
F . (VERUM F1()) = F3()
by FUNCOP_1:7;
for p being Element of QC-WFF F1() st len (@ p) <= 0 holds
( ( p is atomic implies F . p = F4(p) ) & ( p is negative implies F . p = F5((F . (the_argument_of p))) ) & ( p is conjunctive implies F . p = F6((F . (the_left_argument_of p)),(F . (the_right_argument_of p))) ) & ( p is universal implies F . p = F7(p,(F . (the_scope_of p))) ) )
let p be
Element of
QC-WFF F1();
( len (@ p) <= 0 implies ( ( p is atomic implies F . p = F4(p) ) & ( p is negative implies F . p = F5((F . (the_argument_of p))) ) & ( p is conjunctive implies F . p = F6((F . (the_left_argument_of p)),(F . (the_right_argument_of p))) ) & ( p is universal implies F . p = F7(p,(F . (the_scope_of p))) ) ) )
assume A19:
len (@ p) <= 0
;
( ( p is atomic implies F . p = F4(p) ) & ( p is negative implies F . p = F5((F . (the_argument_of p))) ) & ( p is conjunctive implies F . p = F6((F . (the_left_argument_of p)),(F . (the_right_argument_of p))) ) & ( p is universal implies F . p = F7(p,(F . (the_scope_of p))) ) )
1
<= len (@ p)
by Th10;
hence
( (
p is
atomic implies
F . p = F4(
p) ) & (
p is
negative implies
F . p = F5(
(F . (the_argument_of p))) ) & (
p is
conjunctive implies
F . p = F6(
(F . (the_left_argument_of p)),
(F . (the_right_argument_of p))) ) & (
p is
universal implies
F . p = F7(
p,
(F . (the_scope_of p))) ) )
by A19;
verum
end;
A20:
for n being Nat holds S3[n]
from NAT_1:sch 2(A18, A1);
then A21:
ex G being Function of (QC-WFF F1()),F2() st S1[G, len (@ (VERUM F1()))]
;
A22:
for x being object st x in QC-WFF F1() holds
ex y being object st S4[x,y]
proof
let x be
object ;
( x in QC-WFF F1() implies ex y being object st S4[x,y] )
assume
x in QC-WFF F1()
;
ex y being object st S4[x,y]
then reconsider x9 =
x as
Element of
QC-WFF F1() ;
consider F being
Function of
(QC-WFF F1()),
F2()
such that A23:
S1[
F,
len (@ x9)]
by A20;
take
F . x
;
S4[x,F . x]
take
x9
;
( x9 = x & ( for g being Function of (QC-WFF F1()),F2() st S1[g, len (@ x9)] holds
F . x = g . x9 ) )
thus
x = x9
;
for g being Function of (QC-WFF F1()),F2() st S1[g, len (@ x9)] holds
F . x = g . x9
let G be
Function of
(QC-WFF F1()),
F2();
( S1[G, len (@ x9)] implies F . x = G . x9 )
assume A24:
S1[
G,
len (@ x9)]
;
F . x = G . x9
defpred S5[
Element of
QC-WFF F1()]
means (
len (@ $1) <= len (@ x9) implies
F . $1
= G . $1 );
for
p being
Element of
QC-WFF F1() holds
S5[
p]
from QC_LANG1:sch 2(A25);
hence
F . x = G . x9
;
verum
end;
consider F being Function such that
A36:
dom F = QC-WFF F1()
and
A37:
for x being object st x in QC-WFF F1() holds
S4[x,F . x]
from CLASSES1:sch 1(A22);
rng F c= F2()
then reconsider F = F as Function of (QC-WFF F1()),F2() by A36, FUNCT_2:def 1, RELSET_1:4;
take
F
; ( F . (VERUM F1()) = F3() & ( for p being Element of QC-WFF F1() holds
( ( p is atomic implies F . p = F4(p) ) & ( p is negative implies F . p = F5((F . (the_argument_of p))) ) & ( p is conjunctive implies F . p = F6((F . (the_left_argument_of p)),(F . (the_right_argument_of p))) ) & ( p is universal implies F . p = F7(p,(F . (the_scope_of p))) ) ) ) )
S4[ VERUM F1(),F . (VERUM F1())]
by A37;
hence
F . (VERUM F1()) = F3()
by A21; for p being Element of QC-WFF F1() holds
( ( p is atomic implies F . p = F4(p) ) & ( p is negative implies F . p = F5((F . (the_argument_of p))) ) & ( p is conjunctive implies F . p = F6((F . (the_left_argument_of p)),(F . (the_right_argument_of p))) ) & ( p is universal implies F . p = F7(p,(F . (the_scope_of p))) ) )
let p be Element of QC-WFF F1(); ( ( p is atomic implies F . p = F4(p) ) & ( p is negative implies F . p = F5((F . (the_argument_of p))) ) & ( p is conjunctive implies F . p = F6((F . (the_left_argument_of p)),(F . (the_right_argument_of p))) ) & ( p is universal implies F . p = F7(p,(F . (the_scope_of p))) ) )
consider p1 being Element of QC-WFF F1() such that
A41:
p1 = p
and
A42:
for g being Function of (QC-WFF F1()),F2() st S1[g, len (@ p1)] holds
F . p = g . p1
by A37;
consider G being Function of (QC-WFF F1()),F2() such that
A43:
S1[G, len (@ p1)]
by A20;
set p9 = the_scope_of p;
A44:
ex p1 being Element of QC-WFF F1() st
( p1 = the_scope_of p & ( for g being Function of (QC-WFF F1()),F2() st S1[g, len (@ p1)] holds
F . (the_scope_of p) = g . p1 ) )
by A37;
A45:
F . p = G . p
by A41, A42, A43;
hence
( p is atomic implies F . p = F4(p) )
by A41, A43; ( ( p is negative implies F . p = F5((F . (the_argument_of p))) ) & ( p is conjunctive implies F . p = F6((F . (the_left_argument_of p)),(F . (the_right_argument_of p))) ) & ( p is universal implies F . p = F7(p,(F . (the_scope_of p))) ) )
A46:
for k being Nat st k < len (@ p) holds
S1[G,k]
proof
let k be
Nat;
( k < len (@ p) implies S1[G,k] )
assume A47:
k < len (@ p)
;
S1[G,k]
thus
G . (VERUM F1()) = F3()
by A43;
for p being Element of QC-WFF F1() st len (@ p) <= k holds
( ( p is atomic implies G . p = F4(p) ) & ( p is negative implies G . p = F5((G . (the_argument_of p))) ) & ( p is conjunctive implies G . p = F6((G . (the_left_argument_of p)),(G . (the_right_argument_of p))) ) & ( p is universal implies G . p = F7(p,(G . (the_scope_of p))) ) )
let p9 be
Element of
QC-WFF F1();
( len (@ p9) <= k implies ( ( p9 is atomic implies G . p9 = F4(p9) ) & ( p9 is negative implies G . p9 = F5((G . (the_argument_of p9))) ) & ( p9 is conjunctive implies G . p9 = F6((G . (the_left_argument_of p9)),(G . (the_right_argument_of p9))) ) & ( p9 is universal implies G . p9 = F7(p9,(G . (the_scope_of p9))) ) ) )
assume
len (@ p9) <= k
;
( ( p9 is atomic implies G . p9 = F4(p9) ) & ( p9 is negative implies G . p9 = F5((G . (the_argument_of p9))) ) & ( p9 is conjunctive implies G . p9 = F6((G . (the_left_argument_of p9)),(G . (the_right_argument_of p9))) ) & ( p9 is universal implies G . p9 = F7(p9,(G . (the_scope_of p9))) ) )
then
len (@ p9) <= len (@ p)
by A47, XXREAL_0:2;
hence
( (
p9 is
atomic implies
G . p9 = F4(
p9) ) & (
p9 is
negative implies
G . p9 = F5(
(G . (the_argument_of p9))) ) & (
p9 is
conjunctive implies
G . p9 = F6(
(G . (the_left_argument_of p9)),
(G . (the_right_argument_of p9))) ) & (
p9 is
universal implies
G . p9 = F7(
p9,
(G . (the_scope_of p9))) ) )
by A41, A43;
verum
end;
thus
( p is negative implies F . p = F5((F . (the_argument_of p))) )
( ( p is conjunctive implies F . p = F6((F . (the_left_argument_of p)),(F . (the_right_argument_of p))) ) & ( p is universal implies F . p = F7(p,(F . (the_scope_of p))) ) )
thus
( p is conjunctive implies F . p = F6((F . (the_left_argument_of p)),(F . (the_right_argument_of p))) )
( p is universal implies F . p = F7(p,(F . (the_scope_of p))) )proof
set p99 =
the_right_argument_of p;
set p9 =
the_left_argument_of p;
set k9 =
len (@ (the_left_argument_of p));
set k99 =
len (@ (the_right_argument_of p));
A50:
ex
p2 being
Element of
QC-WFF F1() st
(
p2 = the_right_argument_of p & ( for
g being
Function of
(QC-WFF F1()),
F2() st
S1[
g,
len (@ p2)] holds
F . (the_right_argument_of p) = g . p2 ) )
by A37;
assume A51:
p is
conjunctive
;
F . p = F6((F . (the_left_argument_of p)),(F . (the_right_argument_of p)))
then
len (@ (the_left_argument_of p)) < len (@ p)
by Th15;
then A52:
S1[
G,
len (@ (the_left_argument_of p))]
by A46;
len (@ (the_right_argument_of p)) < len (@ p)
by A51, Th15;
then
S1[
G,
len (@ (the_right_argument_of p))]
by A46;
then A53:
F . (the_right_argument_of p) = G . (the_right_argument_of p)
by A50;
ex
p1 being
Element of
QC-WFF F1() st
(
p1 = the_left_argument_of p & ( for
g being
Function of
(QC-WFF F1()),
F2() st
S1[
g,
len (@ p1)] holds
F . (the_left_argument_of p) = g . p1 ) )
by A37;
then
F . (the_left_argument_of p) = G . (the_left_argument_of p)
by A52;
hence
F . p = F6(
(F . (the_left_argument_of p)),
(F . (the_right_argument_of p)))
by A41, A43, A45, A51, A53;
verum
end;
set k = len (@ (the_scope_of p));
assume A54:
p is universal
; F . p = F7(p,(F . (the_scope_of p)))
then
len (@ (the_scope_of p)) < len (@ p)
by Th16;
then
S1[G, len (@ (the_scope_of p))]
by A46;
then
F . (the_scope_of p) = G . (the_scope_of p)
by A44;
hence
F . p = F7(p,(F . (the_scope_of p)))
by A41, A43, A45, A54; verum