:: Recursive Definitions. {P}art {II} :: by Artur Korni{\l}owicz :: :: Received February 10, 2004 :: Copyright (c) 2004-2012 Association of Mizar Users
ex f being Function st ( dom f = F1() & ( for c being set st c in F1() holds ( ( P1[c] implies f . c = F2(c) ) & ( P2[c] implies f . c = F3(c) ) & ( P3[c] implies f . c = F4(c) ) ) ) )
provided
A1:
for c being set st c in F1() holds ( ( P1[c] implies not P2[c] ) & ( P1[c] implies not P3[c] ) & ( P2[c] implies not P3[c] ) )
and A2:
for c being set holds ( not c in F1() or P1[c] or P2[c] or P3[c] )
ex f being Function st ( dom f = F1() & ( for c being set st c in F1() holds ( ( P1[c] implies f . c = F2(c) ) & ( P2[c] implies f . c = F3(c) ) & ( P3[c] implies f . c = F4(c) ) & ( P4[c] implies f . c = F5(c) ) ) ) )
provided
A1:
for c being set st c in F1() holds ( ( P1[c] implies not P2[c] ) & ( P1[c] implies not P3[c] ) & ( P1[c] implies not P4[c] ) & ( P2[c] implies not P3[c] ) & ( P2[c] implies not P4[c] ) & ( P3[c] implies not P4[c] ) )
and A2:
for c being set holds ( not c in F1() or P1[c] or P2[c] or P3[c] or P4[c] )
A1:
for n being Element of NAT for x being Element of F1() for y being Element of F2() ex x1 being Element of F1() ex y1 being Element of F2() st P1[n,x,y,x1,y1]
A1:
dom F3() =NATand A2:
( F3() .0= F1() & F3() . 1 = F2() )
and A3:
for n being Element of NAT holds F3() .(n + 2)= F5(n,(F3() . n),(F3() .(n + 1)))
and A4:
dom F4() =NATand A5:
( F4() .0= F1() & F4() . 1 = F2() )
and A6:
for n being Element of NAT holds F4() .(n + 2)= F5(n,(F4() . n),(F4() .(n + 1)))
A1:
( F4() .0= F2() & F4() . 1 = F3() )
and A2:
for n being Element of NAT holds F4() .(n + 2)= F6(n,(F4() . n),(F4() .(n + 1)))
and A3:
( F5() .0= F2() & F5() . 1 = F3() )
and A4:
for n being Element of NAT holds F5() .(n + 2)= F6(n,(F5() . n),(F5() .(n + 1)))
ex f being Function st ( dom f =NAT & f .0= F1() & f . 1 = F2() & f . 2 = F3() & ( for n being Element of NAT holds f .(n + 3)= F4(n,(f . n),(f .(n + 1)),(f .(n + 2))) ) )
ex f being Function of NAT,F1() st ( f .0= F2() & f . 1 = F3() & f . 2 = F4() & ( for n being Element of NAT holds f .(n + 3)= F5(n,(f . n),(f .(n + 1)),(f .(n + 2))) ) )