:: RECDEF_1 semantic presentation
Lemma26:
for n being Element of NAT
for D being non empty set
for p being FinSequence of D st 1 <= n & n <= len p holds
p . n is Element of D
scheme :: RECDEF_1:sch 28
s28{
F1()
-> set ,
P1[
set ,
set ,
set ] } :
provided
E27:
for
n being
Element of
NAT for
x being
set ex
y being
set st
P1[
n,
x,
y]
and E32:
for
n being
Element of
NAT for
x,
y1,
y2 being
set st
P1[
n,
x,
y1] &
P1[
n,
x,
y2] holds
y1 = y2
scheme :: RECDEF_1:sch 136
s136{
F1()
-> set ,
F2()
-> Element of
NAT ,
P1[
set ,
set ,
set ] } :
provided
E27:
for
n being
Element of
NAT st 1
<= n &
n < F2() holds
for
x being
set ex
y being
set st
P1[
n,
x,
y]
and E32:
for
n being
Element of
NAT st 1
<= n &
n < F2() holds
for
x,
y1,
y2 being
set st
P1[
n,
x,
y1] &
P1[
n,
x,
y2] holds
y1 = y2
scheme :: RECDEF_1:sch 141
s141{
F1()
-> FinSequence,
P1[
set ,
set ,
set ] } :
provided
E27:
for
k being
Element of
NAT for
x being
set st 1
<= k &
k < len F1() holds
ex
y being
set st
P1[
F1()
. (k + 1),
x,
y]
and E32:
for
k being
Element of
NAT for
x,
y1,
y2,
z being
set st 1
<= k &
k < len F1() &
z = F1()
. (k + 1) &
P1[
z,
x,
y1] &
P1[
z,
x,
y2] holds
y1 = y2
scheme :: RECDEF_1:sch 144
s144{
F1()
-> set ,
F2()
-> Function,
F3()
-> Function,
P1[
set ,
set ,
set ] } :
provided
E27:
(
dom F2()
= NAT &
F2()
. 0
= F1() & ( for
n being
Element of
NAT holds
P1[
n,
F2()
. n,
F2()
. (n + 1)] ) )
and E32:
(
dom F3()
= NAT &
F3()
. 0
= F1() & ( for
n being
Element of
NAT holds
P1[
n,
F3()
. n,
F3()
. (n + 1)] ) )
and E34:
for
n being
Element of
NAT for
x,
y1,
y2 being
set st
P1[
n,
x,
y1] &
P1[
n,
x,
y2] holds
y1 = y2
scheme :: RECDEF_1:sch 145
s145{
F1()
-> non
empty set ,
F2()
-> Element of
F1(),
P1[
set ,
set ,
set ],
F3()
-> Function of
NAT ,
F1(),
F4()
-> Function of
NAT ,
F1() } :
provided
E27:
(
F3()
. 0
= F2() & ( for
n being
Element of
NAT holds
P1[
n,
F3()
. n,
F3()
. (n + 1)] ) )
and E32:
(
F4()
. 0
= F2() & ( for
n being
Element of
NAT holds
P1[
n,
F4()
. n,
F4()
. (n + 1)] ) )
and E34:
for
n being
Element of
NAT for
x,
y1,
y2 being
Element of
F1() st
P1[
n,
x,
y1] &
P1[
n,
x,
y2] holds
y1 = y2
scheme :: RECDEF_1:sch 150
s150{
F1()
-> set ,
F2()
-> Element of
NAT ,
F3()
-> FinSequence,
F4()
-> FinSequence,
P1[
set ,
set ,
set ] } :
provided
E27:
for
n being
Element of
NAT st 1
<= n &
n < F2() holds
for
x,
y1,
y2 being
set st
P1[
n,
x,
y1] &
P1[
n,
x,
y2] holds
y1 = y2
and E32:
(
len F3()
= F2() & (
F3()
. 1
= F1() or
F2()
= 0 ) & ( for
n being
Element of
NAT st 1
<= n &
n < F2() holds
P1[
n,
F3()
. n,
F3()
. (n + 1)] ) )
and E34:
(
len F4()
= F2() & (
F4()
. 1
= F1() or
F2()
= 0 ) & ( for
n being
Element of
NAT st 1
<= n &
n < F2() holds
P1[
n,
F4()
. n,
F4()
. (n + 1)] ) )
scheme :: RECDEF_1:sch 151
s151{
F1()
-> non
empty set ,
F2()
-> Element of
F1(),
F3()
-> Element of
NAT ,
F4()
-> FinSequence of
F1(),
F5()
-> FinSequence of
F1(),
P1[
set ,
set ,
set ] } :
provided
E27:
for
n being
Element of
NAT st 1
<= n &
n < F3() holds
for
x,
y1,
y2 being
Element of
F1() st
P1[
n,
x,
y1] &
P1[
n,
x,
y2] holds
y1 = y2
and E32:
(
len F4()
= F3() & (
F4()
. 1
= F2() or
F3()
= 0 ) & ( for
n being
Element of
NAT st 1
<= n &
n < F3() holds
P1[
n,
F4()
. n,
F4()
. (n + 1)] ) )
and E34:
(
len F5()
= F3() & (
F5()
. 1
= F2() or
F3()
= 0 ) & ( for
n being
Element of
NAT st 1
<= n &
n < F3() holds
P1[
n,
F5()
. n,
F5()
. (n + 1)] ) )
scheme :: RECDEF_1:sch 155
s155{
F1()
-> FinSequence,
P1[
set ,
set ,
set ],
F2()
-> set ,
F3()
-> set } :
provided
E27:
for
k being
Element of
NAT for
x,
y1,
y2,
z being
set st 1
<= k &
k < len F1() &
z = F1()
. (k + 1) &
P1[
z,
x,
y1] &
P1[
z,
x,
y2] holds
y1 = y2
and E32:
ex
p being
FinSequence st
(
F2()
= p . (len p) &
len p = len F1() &
p . 1
= F1()
. 1 & ( for
k being
Element of
NAT st 1
<= k &
k < len F1() holds
P1[
F1()
. (k + 1),
p . k,
p . (k + 1)] ) )
and E34:
ex
p being
FinSequence st
(
F3()
= p . (len p) &
len p = len F1() &
p . 1
= F1()
. 1 & ( for
k being
Element of
NAT st 1
<= k &
k < len F1() holds
P1[
F1()
. (k + 1),
p . k,
p . (k + 1)] ) )
scheme :: RECDEF_1:sch 157
s157{
F1()
-> set ,
F2()
-> Element of
NAT ,
P1[
set ,
set ,
set ] } :
provided
E27:
for
n being
Element of
NAT for
x being
set ex
y being
set st
P1[
n,
x,
y]
and E32:
for
n being
Element of
NAT for
x,
y1,
y2 being
set st
P1[
n,
x,
y1] &
P1[
n,
x,
y2] holds
y1 = y2
scheme :: RECDEF_1:sch 161
s161{
F1()
-> non
empty set ,
F2()
-> Element of
F1(),
F3()
-> Element of
NAT ,
P1[
set ,
set ,
set ] } :
( ex
y being
Element of
F1() ex
f being
Function of
NAT ,
F1() st
(
y = f . F3() &
f . 0
= F2() & ( for
n being
Element of
NAT holds
P1[
n,
f . n,
f . (n + 1)] ) ) & ( for
y1,
y2 being
Element of
F1() st ex
f being
Function of
NAT ,
F1() st
(
y1 = f . F3() &
f . 0
= F2() & ( for
n being
Element of
NAT holds
P1[
n,
f . n,
f . (n + 1)] ) ) & ex
f being
Function of
NAT ,
F1() st
(
y2 = f . F3() &
f . 0
= F2() & ( for
n being
Element of
NAT holds
P1[
n,
f . n,
f . (n + 1)] ) ) holds
y1 = y2 ) )
provided
E27:
for
n being
Element of
NAT for
x being
Element of
F1() ex
y being
Element of
F1() st
P1[
n,
x,
y]
and E32:
for
n being
Element of
NAT for
x,
y1,
y2 being
Element of
F1() st
P1[
n,
x,
y1] &
P1[
n,
x,
y2] holds
y1 = y2
scheme :: RECDEF_1:sch 163
s163{
F1()
-> FinSequence,
P1[
set ,
set ,
set ] } :
provided
E27:
for
k being
Element of
NAT for
y being
set st 1
<= k &
k < len F1() holds
ex
z being
set st
P1[
F1()
. (k + 1),
y,
z]
and E32:
for
k being
Element of
NAT for
x,
y1,
y2,
z being
set st 1
<= k &
k < len F1() &
z = F1()
. (k + 1) &
P1[
z,
x,
y1] &
P1[
z,
x,
y2] holds
y1 = y2