:: RECDEF_2 semantic presentation
definition
let c1 be
set ;
given c2,
c3,
c4 being
set such that E1:
c1 = [c2,c3,c4]
;
func c1 `1_3 -> set means :
Def1:
:: RECDEF_2:def 1
for
b1,
b2,
b3 being
set st
a1 = [b1,b2,b3] holds
a2 = b1;
existence
ex b1 being set st
for b2, b3, b4 being set st c1 = [b2,b3,b4] holds
b1 = b2
uniqueness
for b1, b2 being set st ( for b3, b4, b5 being set st c1 = [b3,b4,b5] holds
b1 = b3 ) & ( for b3, b4, b5 being set st c1 = [b3,b4,b5] holds
b2 = b3 ) holds
b1 = b2
func c1 `2_3 -> set means :
Def2:
:: RECDEF_2:def 2
for
b1,
b2,
b3 being
set st
a1 = [b1,b2,b3] holds
a2 = b2;
existence
ex b1 being set st
for b2, b3, b4 being set st c1 = [b2,b3,b4] holds
b1 = b3
uniqueness
for b1, b2 being set st ( for b3, b4, b5 being set st c1 = [b3,b4,b5] holds
b1 = b4 ) & ( for b3, b4, b5 being set st c1 = [b3,b4,b5] holds
b2 = b4 ) holds
b1 = b2
func c1 `3_3 -> set means :
Def3:
:: RECDEF_2:def 3
for
b1,
b2,
b3 being
set st
a1 = [b1,b2,b3] holds
a2 = b3;
existence
ex b1 being set st
for b2, b3, b4 being set st c1 = [b2,b3,b4] holds
b1 = b4
uniqueness
for b1, b2 being set st ( for b3, b4, b5 being set st c1 = [b3,b4,b5] holds
b1 = b5 ) & ( for b3, b4, b5 being set st c1 = [b3,b4,b5] holds
b2 = b5 ) holds
b1 = b2
end;
:: deftheorem Def1 defines `1_3 RECDEF_2:def 1 :
for
b1 being
set st ex
b2,
b3,
b4 being
set st
b1 = [b2,b3,b4] holds
for
b2 being
set holds
(
b2 = b1 `1_3 iff for
b3,
b4,
b5 being
set st
b1 = [b3,b4,b5] holds
b2 = b3 );
:: deftheorem Def2 defines `2_3 RECDEF_2:def 2 :
for
b1 being
set st ex
b2,
b3,
b4 being
set st
b1 = [b2,b3,b4] holds
for
b2 being
set holds
(
b2 = b1 `2_3 iff for
b3,
b4,
b5 being
set st
b1 = [b3,b4,b5] holds
b2 = b4 );
:: deftheorem Def3 defines `3_3 RECDEF_2:def 3 :
for
b1 being
set st ex
b2,
b3,
b4 being
set st
b1 = [b2,b3,b4] holds
for
b2 being
set holds
(
b2 = b1 `3_3 iff for
b3,
b4,
b5 being
set st
b1 = [b3,b4,b5] holds
b2 = b5 );
theorem Th1: :: RECDEF_2:1
theorem Th2: :: RECDEF_2:2
theorem Th3: :: RECDEF_2:3
definition
let c1 be
set ;
given c2,
c3,
c4,
c5 being
set such that E5:
c1 = [c2,c3,c4,c5]
;
func c1 `1_4 -> set means :
Def4:
:: RECDEF_2:def 4
for
b1,
b2,
b3,
b4 being
set st
a1 = [b1,b2,b3,b4] holds
a2 = b1;
existence
ex b1 being set st
for b2, b3, b4, b5 being set st c1 = [b2,b3,b4,b5] holds
b1 = b2
uniqueness
for b1, b2 being set st ( for b3, b4, b5, b6 being set st c1 = [b3,b4,b5,b6] holds
b1 = b3 ) & ( for b3, b4, b5, b6 being set st c1 = [b3,b4,b5,b6] holds
b2 = b3 ) holds
b1 = b2
func c1 `2_4 -> set means :
Def5:
:: RECDEF_2:def 5
for
b1,
b2,
b3,
b4 being
set st
a1 = [b1,b2,b3,b4] holds
a2 = b2;
existence
ex b1 being set st
for b2, b3, b4, b5 being set st c1 = [b2,b3,b4,b5] holds
b1 = b3
uniqueness
for b1, b2 being set st ( for b3, b4, b5, b6 being set st c1 = [b3,b4,b5,b6] holds
b1 = b4 ) & ( for b3, b4, b5, b6 being set st c1 = [b3,b4,b5,b6] holds
b2 = b4 ) holds
b1 = b2
func c1 `3_4 -> set means :
Def6:
:: RECDEF_2:def 6
for
b1,
b2,
b3,
b4 being
set st
a1 = [b1,b2,b3,b4] holds
a2 = b3;
existence
ex b1 being set st
for b2, b3, b4, b5 being set st c1 = [b2,b3,b4,b5] holds
b1 = b4
uniqueness
for b1, b2 being set st ( for b3, b4, b5, b6 being set st c1 = [b3,b4,b5,b6] holds
b1 = b5 ) & ( for b3, b4, b5, b6 being set st c1 = [b3,b4,b5,b6] holds
b2 = b5 ) holds
b1 = b2
func c1 `4_4 -> set means :
Def7:
:: RECDEF_2:def 7
for
b1,
b2,
b3,
b4 being
set st
a1 = [b1,b2,b3,b4] holds
a2 = b4;
existence
ex b1 being set st
for b2, b3, b4, b5 being set st c1 = [b2,b3,b4,b5] holds
b1 = b5
uniqueness
for b1, b2 being set st ( for b3, b4, b5, b6 being set st c1 = [b3,b4,b5,b6] holds
b1 = b6 ) & ( for b3, b4, b5, b6 being set st c1 = [b3,b4,b5,b6] holds
b2 = b6 ) holds
b1 = b2
end;
:: deftheorem Def4 defines `1_4 RECDEF_2:def 4 :
for
b1 being
set st ex
b2,
b3,
b4,
b5 being
set st
b1 = [b2,b3,b4,b5] holds
for
b2 being
set holds
(
b2 = b1 `1_4 iff for
b3,
b4,
b5,
b6 being
set st
b1 = [b3,b4,b5,b6] holds
b2 = b3 );
:: deftheorem Def5 defines `2_4 RECDEF_2:def 5 :
for
b1 being
set st ex
b2,
b3,
b4,
b5 being
set st
b1 = [b2,b3,b4,b5] holds
for
b2 being
set holds
(
b2 = b1 `2_4 iff for
b3,
b4,
b5,
b6 being
set st
b1 = [b3,b4,b5,b6] holds
b2 = b4 );
:: deftheorem Def6 defines `3_4 RECDEF_2:def 6 :
for
b1 being
set st ex
b2,
b3,
b4,
b5 being
set st
b1 = [b2,b3,b4,b5] holds
for
b2 being
set holds
(
b2 = b1 `3_4 iff for
b3,
b4,
b5,
b6 being
set st
b1 = [b3,b4,b5,b6] holds
b2 = b5 );
:: deftheorem Def7 defines `4_4 RECDEF_2:def 7 :
for
b1 being
set st ex
b2,
b3,
b4,
b5 being
set st
b1 = [b2,b3,b4,b5] holds
for
b2 being
set holds
(
b2 = b1 `4_4 iff for
b3,
b4,
b5,
b6 being
set st
b1 = [b3,b4,b5,b6] holds
b2 = b6 );
theorem Th4: :: RECDEF_2:4
theorem Th5: :: RECDEF_2:5
theorem Th6: :: RECDEF_2:6
for
b1,
b2,
b3,
b4,
b5 being
set st
b1 in [:b2,b3,b4,b5:] holds
b1 = [(b1 `1_4 ),(b1 `2_4 ),(b1 `3_4 ),(b1 `4_4 )]
definition
let c1 be
set ;
given c2,
c3,
c4,
c5,
c6 being
set such that E10:
c1 = [c2,c3,c4,c5,c6]
;
func c1 `1_5 -> set means :
Def8:
:: RECDEF_2:def 8
for
b1,
b2,
b3,
b4,
b5 being
set st
a1 = [b1,b2,b3,b4,b5] holds
a2 = b1;
existence
ex b1 being set st
for b2, b3, b4, b5, b6 being set st c1 = [b2,b3,b4,b5,b6] holds
b1 = b2
uniqueness
for b1, b2 being set st ( for b3, b4, b5, b6, b7 being set st c1 = [b3,b4,b5,b6,b7] holds
b1 = b3 ) & ( for b3, b4, b5, b6, b7 being set st c1 = [b3,b4,b5,b6,b7] holds
b2 = b3 ) holds
b1 = b2
func c1 `2_5 -> set means :
Def9:
:: RECDEF_2:def 9
for
b1,
b2,
b3,
b4,
b5 being
set st
a1 = [b1,b2,b3,b4,b5] holds
a2 = b2;
existence
ex b1 being set st
for b2, b3, b4, b5, b6 being set st c1 = [b2,b3,b4,b5,b6] holds
b1 = b3
uniqueness
for b1, b2 being set st ( for b3, b4, b5, b6, b7 being set st c1 = [b3,b4,b5,b6,b7] holds
b1 = b4 ) & ( for b3, b4, b5, b6, b7 being set st c1 = [b3,b4,b5,b6,b7] holds
b2 = b4 ) holds
b1 = b2
func c1 `3_5 -> set means :
Def10:
:: RECDEF_2:def 10
for
b1,
b2,
b3,
b4,
b5 being
set st
a1 = [b1,b2,b3,b4,b5] holds
a2 = b3;
existence
ex b1 being set st
for b2, b3, b4, b5, b6 being set st c1 = [b2,b3,b4,b5,b6] holds
b1 = b4
uniqueness
for b1, b2 being set st ( for b3, b4, b5, b6, b7 being set st c1 = [b3,b4,b5,b6,b7] holds
b1 = b5 ) & ( for b3, b4, b5, b6, b7 being set st c1 = [b3,b4,b5,b6,b7] holds
b2 = b5 ) holds
b1 = b2
func c1 `4_5 -> set means :
Def11:
:: RECDEF_2:def 11
for
b1,
b2,
b3,
b4,
b5 being
set st
a1 = [b1,b2,b3,b4,b5] holds
a2 = b4;
existence
ex b1 being set st
for b2, b3, b4, b5, b6 being set st c1 = [b2,b3,b4,b5,b6] holds
b1 = b5
uniqueness
for b1, b2 being set st ( for b3, b4, b5, b6, b7 being set st c1 = [b3,b4,b5,b6,b7] holds
b1 = b6 ) & ( for b3, b4, b5, b6, b7 being set st c1 = [b3,b4,b5,b6,b7] holds
b2 = b6 ) holds
b1 = b2
func c1 `5_5 -> set means :
Def12:
:: RECDEF_2:def 12
for
b1,
b2,
b3,
b4,
b5 being
set st
a1 = [b1,b2,b3,b4,b5] holds
a2 = b5;
existence
ex b1 being set st
for b2, b3, b4, b5, b6 being set st c1 = [b2,b3,b4,b5,b6] holds
b1 = b6
uniqueness
for b1, b2 being set st ( for b3, b4, b5, b6, b7 being set st c1 = [b3,b4,b5,b6,b7] holds
b1 = b7 ) & ( for b3, b4, b5, b6, b7 being set st c1 = [b3,b4,b5,b6,b7] holds
b2 = b7 ) holds
b1 = b2
end;
:: deftheorem Def8 defines `1_5 RECDEF_2:def 8 :
for
b1 being
set st ex
b2,
b3,
b4,
b5,
b6 being
set st
b1 = [b2,b3,b4,b5,b6] holds
for
b2 being
set holds
(
b2 = b1 `1_5 iff for
b3,
b4,
b5,
b6,
b7 being
set st
b1 = [b3,b4,b5,b6,b7] holds
b2 = b3 );
:: deftheorem Def9 defines `2_5 RECDEF_2:def 9 :
for
b1 being
set st ex
b2,
b3,
b4,
b5,
b6 being
set st
b1 = [b2,b3,b4,b5,b6] holds
for
b2 being
set holds
(
b2 = b1 `2_5 iff for
b3,
b4,
b5,
b6,
b7 being
set st
b1 = [b3,b4,b5,b6,b7] holds
b2 = b4 );
:: deftheorem Def10 defines `3_5 RECDEF_2:def 10 :
for
b1 being
set st ex
b2,
b3,
b4,
b5,
b6 being
set st
b1 = [b2,b3,b4,b5,b6] holds
for
b2 being
set holds
(
b2 = b1 `3_5 iff for
b3,
b4,
b5,
b6,
b7 being
set st
b1 = [b3,b4,b5,b6,b7] holds
b2 = b5 );
:: deftheorem Def11 defines `4_5 RECDEF_2:def 11 :
for
b1 being
set st ex
b2,
b3,
b4,
b5,
b6 being
set st
b1 = [b2,b3,b4,b5,b6] holds
for
b2 being
set holds
(
b2 = b1 `4_5 iff for
b3,
b4,
b5,
b6,
b7 being
set st
b1 = [b3,b4,b5,b6,b7] holds
b2 = b6 );
:: deftheorem Def12 defines `5_5 RECDEF_2:def 12 :
for
b1 being
set st ex
b2,
b3,
b4,
b5,
b6 being
set st
b1 = [b2,b3,b4,b5,b6] holds
for
b2 being
set holds
(
b2 = b1 `5_5 iff for
b3,
b4,
b5,
b6,
b7 being
set st
b1 = [b3,b4,b5,b6,b7] holds
b2 = b7 );
theorem Th7: :: RECDEF_2:7
for
b1 being
set st ex
b2,
b3,
b4,
b5,
b6 being
set st
b1 = [b2,b3,b4,b5,b6] holds
b1 = [(b1 `1_5 ),(b1 `2_5 ),(b1 `3_5 ),(b1 `4_5 ),(b1 `5_5 )]
theorem Th8: :: RECDEF_2:8
theorem Th9: :: RECDEF_2:9
for
b1,
b2,
b3,
b4,
b5,
b6 being
set st
b1 in [:b2,b3,b4,b5,b6:] holds
b1 = [(b1 `1_5 ),(b1 `2_5 ),(b1 `3_5 ),(b1 `4_5 ),(b1 `5_5 )]
scheme :: RECDEF_2:sch 1
s1{
F1()
-> set ,
P1[
set ],
P2[
set ],
P3[
set ],
F2(
set )
-> set ,
F3(
set )
-> set ,
F4(
set )
-> set } :
ex
b1 being
Function st
(
dom b1 = F1() & ( for
b2 being
set st
b2 in F1() holds
( (
P1[
b2] implies
b1 . b2 = F2(
b2) ) & (
P2[
b2] implies
b1 . b2 = F3(
b2) ) & (
P3[
b2] implies
b1 . b2 = F4(
b2) ) ) ) )
provided
E16:
for
b1 being
set st
b1 in F1() holds
( (
P1[
b1] implies not
P2[
b1] ) & (
P1[
b1] implies not
P3[
b1] ) & (
P2[
b1] implies not
P3[
b1] ) )
and E17:
for
b1 being
set holds
( not
b1 in F1() or
P1[
b1] or
P2[
b1] or
P3[
b1] )
scheme :: RECDEF_2:sch 2
s2{
F1()
-> set ,
P1[
set ],
P2[
set ],
P3[
set ],
P4[
set ],
F2(
set )
-> set ,
F3(
set )
-> set ,
F4(
set )
-> set ,
F5(
set )
-> set } :
ex
b1 being
Function st
(
dom b1 = F1() & ( for
b2 being
set st
b2 in F1() holds
( (
P1[
b2] implies
b1 . b2 = F2(
b2) ) & (
P2[
b2] implies
b1 . b2 = F3(
b2) ) & (
P3[
b2] implies
b1 . b2 = F4(
b2) ) & (
P4[
b2] implies
b1 . b2 = F5(
b2) ) ) ) )
provided
E16:
for
b1 being
set st
b1 in F1() holds
( (
P1[
b1] implies not
P2[
b1] ) & (
P1[
b1] implies not
P3[
b1] ) & (
P1[
b1] implies not
P4[
b1] ) & (
P2[
b1] implies not
P3[
b1] ) & (
P2[
b1] implies not
P4[
b1] ) & (
P3[
b1] implies not
P4[
b1] ) )
and E17:
for
b1 being
set holds
( not
b1 in F1() or
P1[
b1] or
P2[
b1] or
P3[
b1] or
P4[
b1] )
scheme :: RECDEF_2:sch 6
s6{
F1()
-> set ,
F2()
-> set ,
F3()
-> Function,
F4()
-> Function,
F5(
set ,
set ,
set )
-> set } :
provided
E16:
dom F3()
= NAT
and E17:
(
F3()
. 0
= F1() &
F3()
. 1
= F2() )
and E18:
for
b1 being
Nat holds
F3()
. (b1 + 2) = F5(
b1,
(F3() . b1),
(F3() . (b1 + 1)))
and E19:
dom F4()
= NAT
and E20:
(
F4()
. 0
= F1() &
F4()
. 1
= F2() )
and E21:
for
b1 being
Nat holds
F4()
. (b1 + 2) = F5(
b1,
(F4() . b1),
(F4() . (b1 + 1)))
scheme :: RECDEF_2:sch 7
s7{
F1()
-> non
empty set ,
F2()
-> Element of
F1(),
F3()
-> Element of
F1(),
F4()
-> Function of
NAT ,
F1(),
F5()
-> Function of
NAT ,
F1(),
F6(
set ,
set ,
set )
-> Element of
F1() } :
provided
E16:
(
F4()
. 0
= F2() &
F4()
. 1
= F3() )
and E17:
for
b1 being
Nat holds
F4()
. (b1 + 2) = F6(
b1,
(F4() . b1),
(F4() . (b1 + 1)))
and E18:
(
F5()
. 0
= F2() &
F5()
. 1
= F3() )
and E19:
for
b1 being
Nat holds
F5()
. (b1 + 2) = F6(
b1,
(F5() . b1),
(F5() . (b1 + 1)))
scheme :: RECDEF_2:sch 9
s9{
F1()
-> non
empty set ,
F2()
-> Element of
F1(),
F3()
-> Element of
F1(),
F4()
-> Element of
F1(),
F5(
set ,
set ,
set ,
set )
-> Element of
F1() } :
ex
b1 being
Function of
NAT ,
F1() st
(
b1 . 0
= F2() &
b1 . 1
= F3() &
b1 . 2
= F4() & ( for
b2 being
Nat holds
b1 . (b2 + 3) = F5(
b2,
(b1 . b2),
(b1 . (b2 + 1)),
(b1 . (b2 + 2))) ) )
scheme :: RECDEF_2:sch 10
s10{
F1()
-> set ,
F2()
-> set ,
F3()
-> set ,
F4()
-> Function,
F5()
-> Function,
F6(
set ,
set ,
set ,
set )
-> set } :
provided
E16:
dom F4()
= NAT
and E17:
(
F4()
. 0
= F1() &
F4()
. 1
= F2() &
F4()
. 2
= F3() )
and E18:
for
b1 being
Nat holds
F4()
. (b1 + 3) = F6(
b1,
(F4() . b1),
(F4() . (b1 + 1)),
(F4() . (b1 + 2)))
and E19:
dom F5()
= NAT
and E20:
(
F5()
. 0
= F1() &
F5()
. 1
= F2() &
F5()
. 2
= F3() )
and E21:
for
b1 being
Nat holds
F5()
. (b1 + 3) = F6(
b1,
(F5() . b1),
(F5() . (b1 + 1)),
(F5() . (b1 + 2)))
scheme :: RECDEF_2:sch 11
s11{
F1()
-> non
empty set ,
F2()
-> Element of
F1(),
F3()
-> Element of
F1(),
F4()
-> Element of
F1(),
F5()
-> Function of
NAT ,
F1(),
F6()
-> Function of
NAT ,
F1(),
F7(
set ,
set ,
set ,
set )
-> Element of
F1() } :
provided
E16:
(
F5()
. 0
= F2() &
F5()
. 1
= F3() &
F5()
. 2
= F4() )
and E17:
for
b1 being
Nat holds
F5()
. (b1 + 3) = F7(
b1,
(F5() . b1),
(F5() . (b1 + 1)),
(F5() . (b1 + 2)))
and E18:
(
F6()
. 0
= F2() &
F6()
. 1
= F3() &
F6()
. 2
= F4() )
and E19:
for
b1 being
Nat holds
F6()
. (b1 + 3) = F7(
b1,
(F6() . b1),
(F6() . (b1 + 1)),
(F6() . (b1 + 2)))
scheme :: RECDEF_2:sch 12
s12{
F1()
-> set ,
F2()
-> set ,
F3()
-> set ,
F4()
-> set ,
F5(
set ,
set ,
set ,
set ,
set )
-> set } :
ex
b1 being
Function st
(
dom b1 = NAT &
b1 . 0
= F1() &
b1 . 1
= F2() &
b1 . 2
= F3() &
b1 . 3
= F4() & ( for
b2 being
Nat holds
b1 . (b2 + 4) = F5(
b2,
(b1 . b2),
(b1 . (b2 + 1)),
(b1 . (b2 + 2)),
(b1 . (b2 + 3))) ) )
scheme :: RECDEF_2:sch 13
s13{
F1()
-> non
empty set ,
F2()
-> Element of
F1(),
F3()
-> Element of
F1(),
F4()
-> Element of
F1(),
F5()
-> Element of
F1(),
F6(
set ,
set ,
set ,
set ,
set )
-> Element of
F1() } :
ex
b1 being
Function of
NAT ,
F1() st
(
b1 . 0
= F2() &
b1 . 1
= F3() &
b1 . 2
= F4() &
b1 . 3
= F5() & ( for
b2 being
Nat holds
b1 . (b2 + 4) = F6(
b2,
(b1 . b2),
(b1 . (b2 + 1)),
(b1 . (b2 + 2)),
(b1 . (b2 + 3))) ) )
scheme :: RECDEF_2:sch 14
s14{
F1()
-> set ,
F2()
-> set ,
F3()
-> set ,
F4()
-> set ,
F5()
-> Function,
F6()
-> Function,
F7(
set ,
set ,
set ,
set ,
set )
-> set } :
provided
E16:
dom F5()
= NAT
and E17:
(
F5()
. 0
= F1() &
F5()
. 1
= F2() &
F5()
. 2
= F3() &
F5()
. 3
= F4() )
and E18:
for
b1 being
Nat holds
F5()
. (b1 + 4) = F7(
b1,
(F5() . b1),
(F5() . (b1 + 1)),
(F5() . (b1 + 2)),
(F5() . (b1 + 3)))
and E19:
dom F6()
= NAT
and E20:
(
F6()
. 0
= F1() &
F6()
. 1
= F2() &
F6()
. 2
= F3() &
F6()
. 3
= F4() )
and E21:
for
b1 being
Nat holds
F6()
. (b1 + 4) = F7(
b1,
(F6() . b1),
(F6() . (b1 + 1)),
(F6() . (b1 + 2)),
(F6() . (b1 + 3)))
scheme :: RECDEF_2:sch 15
s15{
F1()
-> non
empty set ,
F2()
-> Element of
F1(),
F3()
-> Element of
F1(),
F4()
-> Element of
F1(),
F5()
-> Element of
F1(),
F6()
-> Function of
NAT ,
F1(),
F7()
-> Function of
NAT ,
F1(),
F8(
set ,
set ,
set ,
set ,
set )
-> Element of
F1() } :
provided
E16:
(
F6()
. 0
= F2() &
F6()
. 1
= F3() &
F6()
. 2
= F4() &
F6()
. 3
= F5() )
and E17:
for
b1 being
Nat holds
F6()
. (b1 + 4) = F8(
b1,
(F6() . b1),
(F6() . (b1 + 1)),
(F6() . (b1 + 2)),
(F6() . (b1 + 3)))
and E18:
(
F7()
. 0
= F2() &
F7()
. 1
= F3() &
F7()
. 2
= F4() &
F7()
. 3
= F5() )
and E19:
for
b1 being
Nat holds
F7()
. (b1 + 4) = F8(
b1,
(F7() . b1),
(F7() . (b1 + 1)),
(F7() . (b1 + 2)),
(F7() . (b1 + 3)))