Article SCHEME1, MML version 4.99.1005

:: SCHEME1:th 1
theorem
for b1 being Element of NAT holds
   ex b2 being Element of NAT st
      (b1 = 2 * b2 or b1 = (2 * b2) + 1);

:: SCHEME1:th 2
theorem
for b1 being Element of NAT holds
   ex b2 being Element of NAT st
      (b1 <> 3 * b2 & b1 <> (3 * b2) + 1 implies b1 = (3 * b2) + 2);

:: SCHEME1:th 3
theorem
for b1 being Element of NAT holds
   ex b2 being Element of NAT st
      (b1 <> 4 * b2 & b1 <> (4 * b2) + 1 & b1 <> (4 * b2) + 2 implies b1 = (4 * b2) + 3);

:: SCHEME1:th 4
theorem
for b1 being Element of NAT holds
   ex b2 being Element of NAT st
      (b1 <> 5 * b2 & b1 <> (5 * b2) + 1 & b1 <> (5 * b2) + 2 & b1 <> (5 * b2) + 3 implies b1 = (5 * b2) + 4);

:: SCHEME1:sch 1
scheme SCHEME1:sch 1
{F1 -> Function-like quasi_total Relation of NAT,REAL}:
ex b1 being Function-like quasi_total Relation of NAT,REAL st
   b1 is subsequence of F1() &
    (for b2 being Element of NAT holds
       P1[b1 . b2]) &
    (for b2 being Element of NAT
          st for b3 being Element of REAL
                  st b3 = F1() . b2
               holds P1[b3]
       holds ex b3 being Element of NAT st
          F1() . b2 = b1 . b3)
provided
   for b1 being Element of NAT holds
      ex b2 being Element of NAT st
         b1 <= b2 & P1[F1() . b2];


:: SCHEME1:sch 2
scheme SCHEME1:sch 2
{F1 -> Element of REAL,
  F2 -> Element of REAL}:
ex b1 being Function-like quasi_total Relation of NAT,REAL st
   for b2 being Element of NAT holds
      b1 . (2 * b2) = F1(b2) & b1 . ((2 * b2) + 1) = F2(b2)


:: SCHEME1:sch 3
scheme SCHEME1:sch 3
{F1 -> Element of REAL,
  F2 -> Element of REAL,
  F3 -> Element of REAL}:
ex b1 being Function-like quasi_total Relation of NAT,REAL st
   for b2 being Element of NAT holds
      b1 . (3 * b2) = F1(b2) & b1 . ((3 * b2) + 1) = F2(b2) & b1 . ((3 * b2) + 2) = F3(b2)


:: SCHEME1:sch 4
scheme SCHEME1:sch 4
{F1 -> Element of REAL,
  F2 -> Element of REAL,
  F3 -> Element of REAL,
  F4 -> Element of REAL}:
ex b1 being Function-like quasi_total Relation of NAT,REAL st
   for b2 being Element of NAT holds
      b1 . (4 * b2) = F1(b2) & b1 . ((4 * b2) + 1) = F2(b2) & b1 . ((4 * b2) + 2) = F3(b2) & b1 . ((4 * b2) + 3) = F4(b2)


:: SCHEME1:sch 5
scheme SCHEME1:sch 5
{F1 -> Element of REAL,
  F2 -> Element of REAL,
  F3 -> Element of REAL,
  F4 -> Element of REAL,
  F5 -> Element of REAL}:
ex b1 being Function-like quasi_total Relation of NAT,REAL st
   for b2 being Element of NAT holds
      b1 . (5 * b2) = F1(b2) & b1 . ((5 * b2) + 1) = F2(b2) & b1 . ((5 * b2) + 2) = F3(b2) & b1 . ((5 * b2) + 3) = F4(b2) & b1 . ((5 * b2) + 4) = F5(b2)


:: SCHEME1:sch 6
scheme SCHEME1:sch 6
{F1 -> non empty set,
  F2 -> non empty set,
  F3 -> Element of F2(),
  F4 -> Element of F2()}:
ex b1 being Function-like Relation of F1(),F2() st
   (for b2 being Element of F1() holds
          b2 in dom b1
       iff
          (P1[b2] or P2[b2])) &
    (for b2 being Element of F1()
          st b2 in dom b1
       holds (P1[b2] implies b1 . b2 = F3(b2)) & (P2[b2] implies b1 . b2 = F4(b2)))
provided
   for b1 being Element of F1()
         st P1[b1]
      holds not (P2[b1]);


:: SCHEME1:sch 7
scheme SCHEME1:sch 7
{F1 -> non empty set,
  F2 -> non empty set,
  F3 -> Element of F2(),
  F4 -> Element of F2()}:
ex b1 being Function-like Relation of F1(),F2() st
   (for b2 being Element of F1() holds
          b2 in dom b1
       iff
          (P1[b2] or P2[b2])) &
    (for b2 being Element of F1()
          st b2 in dom b1
       holds (P1[b2] implies b1 . b2 = F3(b2)) & (P2[b2] implies b1 . b2 = F4(b2)))
provided
   for b1 being Element of F1()
         st P1[b1] & P2[b1]
      holds F3(b1) = F4(b1);


:: SCHEME1:sch 8
scheme SCHEME1:sch 8
{F1 -> non empty set,
  F2 -> non empty set,
  F3 -> Element of F2(),
  F4 -> Element of F2()}:
ex b1 being Function-like Relation of F1(),F2() st
   b1 is total(F1(), F2()) &
    (for b2 being Element of F1()
          st b2 in dom b1
       holds (P1[b2] implies b1 . b2 = F3(b2)) & (P1[b2] or b1 . b2 = F4(b2)))


:: SCHEME1:sch 9
scheme SCHEME1:sch 9
{F1 -> non empty set,
  F2 -> non empty set,
  F3 -> Element of F2(),
  F4 -> Element of F2(),
  F5 -> Element of F2()}:
ex b1 being Function-like Relation of F1(),F2() st
   (for b2 being Element of F1() holds
          b2 in dom b1
       iff
          (not (P1[b2]) & not (P2[b2]) implies P3[b2])) &
    (for b2 being Element of F1()
          st b2 in dom b1
       holds (P1[b2] implies b1 . b2 = F3(b2)) & (P2[b2] implies b1 . b2 = F4(b2)) & (P3[b2] implies b1 . b2 = F5(b2)))
provided
   for b1 being Element of F1() holds
      (P1[b1] implies not (P2[b1])) & (P1[b1] implies not (P3[b1])) & (P2[b1] implies not (P3[b1]));


:: SCHEME1:sch 10
scheme SCHEME1:sch 10
{F1 -> non empty set,
  F2 -> non empty set,
  F3 -> Element of F2(),
  F4 -> Element of F2(),
  F5 -> Element of F2()}:
ex b1 being Function-like Relation of F1(),F2() st
   (for b2 being Element of F1() holds
          b2 in dom b1
       iff
          (not (P1[b2]) & not (P2[b2]) implies P3[b2])) &
    (for b2 being Element of F1()
          st b2 in dom b1
       holds (P1[b2] implies b1 . b2 = F3(b2)) & (P2[b2] implies b1 . b2 = F4(b2)) & (P3[b2] implies b1 . b2 = F5(b2)))
provided
   for b1 being Element of F1() holds
      (P1[b1] & P2[b1] implies F3(b1) = F4(b1)) & (P1[b1] & P3[b1] implies F3(b1) = F5(b1)) & (P2[b1] & P3[b1] implies F4(b1) = F5(b1));


:: SCHEME1:sch 11
scheme SCHEME1:sch 11
{F1 -> non empty set,
  F2 -> non empty set,
  F3 -> Element of F2(),
  F4 -> Element of F2(),
  F5 -> Element of F2(),
  F6 -> Element of F2()}:
ex b1 being Function-like Relation of F1(),F2() st
   (for b2 being Element of F1() holds
          b2 in dom b1
       iff
          (not (P1[b2]) & not (P2[b2]) & not (P3[b2]) implies P4[b2])) &
    (for b2 being Element of F1()
          st b2 in dom b1
       holds (P1[b2] implies b1 . b2 = F3(b2)) & (P2[b2] implies b1 . b2 = F4(b2)) & (P3[b2] implies b1 . b2 = F5(b2)) & (P4[b2] implies b1 . b2 = F6(b2)))
provided
   for b1 being Element of 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]));


:: SCHEME1:sch 12
scheme SCHEME1:sch 12
{F1 -> set,
  F2 -> set,
  F3 -> set,
  F4 -> set}:
ex b1 being Function-like Relation of F1(),F2() st
   (for b2 being set holds
          b2 in dom b1
       iff
          b2 in F1() & (P1[b2] or P2[b2])) &
    (for b2 being set
          st b2 in dom b1
       holds (P1[b2] implies b1 . b2 = F3(b2)) & (P2[b2] implies b1 . b2 = F4(b2)))
provided
   for b1 being set
         st b1 in F1() & P1[b1]
      holds not (P2[b1])
and
   for b1 being set
         st b1 in F1() & P1[b1]
      holds F3(b1) in F2()
and
   for b1 being set
         st b1 in F1() & P2[b1]
      holds F4(b1) in F2();


:: SCHEME1:sch 13
scheme SCHEME1:sch 13
{F1 -> set,
  F2 -> set,
  F3 -> set,
  F4 -> set,
  F5 -> set}:
ex b1 being Function-like Relation of F1(),F2() st
   (for b2 being set holds
          b2 in dom b1
       iff
          b2 in F1() & (not (P1[b2]) & not (P2[b2]) implies P3[b2])) &
    (for b2 being set
          st b2 in dom b1
       holds (P1[b2] implies b1 . b2 = F3(b2)) & (P2[b2] implies b1 . b2 = F4(b2)) & (P3[b2] implies b1 . b2 = F5(b2)))
provided
   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
   for b1 being set
         st b1 in F1() & P1[b1]
      holds F3(b1) in F2()
and
   for b1 being set
         st b1 in F1() & P2[b1]
      holds F4(b1) in F2()
and
   for b1 being set
         st b1 in F1() & P3[b1]
      holds F5(b1) in F2();


:: SCHEME1:sch 14
scheme SCHEME1:sch 14
{F1 -> set,
  F2 -> set,
  F3 -> set,
  F4 -> set,
  F5 -> set,
  F6 -> set}:
ex b1 being Function-like Relation of F1(),F2() st
   (for b2 being set holds
          b2 in dom b1
       iff
          b2 in F1() & (not (P1[b2]) & not (P2[b2]) & not (P3[b2]) implies P4[b2])) &
    (for b2 being set
          st b2 in dom b1
       holds (P1[b2] implies b1 . b2 = F3(b2)) & (P2[b2] implies b1 . b2 = F4(b2)) & (P3[b2] implies b1 . b2 = F5(b2)) & (P4[b2] implies b1 . b2 = F6(b2)))
provided
   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
   for b1 being set
         st b1 in F1() & P1[b1]
      holds F3(b1) in F2()
and
   for b1 being set
         st b1 in F1() & P2[b1]
      holds F4(b1) in F2()
and
   for b1 being set
         st b1 in F1() & P3[b1]
      holds F5(b1) in F2()
and
   for b1 being set
         st b1 in F1() & P4[b1]
      holds F6(b1) in F2();


:: SCHEME1:sch 15
scheme SCHEME1:sch 15
{F1 -> non empty set,
  F2 -> non empty set,
  F3 -> non empty set,
  F4 -> Element of F3(),
  F5 -> Element of F3()}:
ex b1 being Function-like Relation of [:F1(),F2():],F3() st
   (for b2 being Element of F1()
    for b3 being Element of F2() holds
          [b2,b3] in dom b1
       iff
          (P1[b2, b3] or P2[b2, b3])) &
    (for b2 being Element of F1()
    for b3 being Element of F2()
          st [b2,b3] in dom b1
       holds (P1[b2, b3] implies b1 . [b2,b3] = F4(b2, b3)) & (P2[b2, b3] implies b1 . [b2,b3] = F5(b2, b3)))
provided
   for b1 being Element of F1()
   for b2 being Element of F2()
         st P1[b1, b2]
      holds not (P2[b1, b2]);


:: SCHEME1:sch 16
scheme SCHEME1:sch 16
{F1 -> non empty set,
  F2 -> non empty set,
  F3 -> non empty set,
  F4 -> Element of F3(),
  F5 -> Element of F3(),
  F6 -> Element of F3()}:
ex b1 being Function-like Relation of [:F1(),F2():],F3() st
   (for b2 being Element of F1()
    for b3 being Element of F2() holds
          [b2,b3] in dom b1
       iff
          (not (P1[b2, b3]) & not (P2[b2, b3]) implies P3[b2, b3])) &
    (for b2 being Element of F1()
    for b3 being Element of F2()
          st [b2,b3] in dom b1
       holds (P1[b2, b3] implies b1 . [b2,b3] = F4(b2, b3)) & (P2[b2, b3] implies b1 . [b2,b3] = F5(b2, b3)) & (P3[b2, b3] implies b1 . [b2,b3] = F6(b2, b3)))
provided
   for b1 being Element of F1()
   for b2 being Element of F2() holds
      (P1[b1, b2] implies not (P2[b1, b2])) & (P1[b1, b2] implies not (P3[b1, b2])) & (P2[b1, b2] implies not (P3[b1, b2]));


:: SCHEME1:sch 17
scheme SCHEME1:sch 17
{F1 -> set,
  F2 -> set,
  F3 -> set,
  F4 -> set,
  F5 -> set}:
ex b1 being Function-like Relation of [:F1(),F2():],F3() st
   (for b2, b3 being set holds
       [b2,b3] in dom b1
    iff
       b2 in F1() & b3 in F2() & (P1[b2, b3] or P2[b2, b3])) &
    (for b2, b3 being set
          st [b2,b3] in dom b1
       holds (P1[b2, b3] implies b1 . [b2,b3] = F4(b2, b3)) & (P2[b2, b3] implies b1 . [b2,b3] = F5(b2, b3)))
provided
   for b1, b2 being set
         st b1 in F1() & b2 in F2() & P1[b1, b2]
      holds not (P2[b1, b2])
and
   for b1, b2 being set
         st b1 in F1() & b2 in F2() & P1[b1, b2]
      holds F4(b1, b2) in F3()
and
   for b1, b2 being set
         st b1 in F1() & b2 in F2() & P2[b1, b2]
      holds F5(b1, b2) in F3();


:: SCHEME1:sch 18
scheme SCHEME1:sch 18
{F1 -> set,
  F2 -> set,
  F3 -> set,
  F4 -> set,
  F5 -> set,
  F6 -> set}:
ex b1 being Function-like Relation of [:F1(),F2():],F3() st
   (for b2, b3 being set holds
       [b2,b3] in dom b1
    iff
       b2 in F1() & b3 in F2() & (not (P1[b2, b3]) & not (P2[b2, b3]) implies P3[b2, b3])) &
    (for b2, b3 being set
          st [b2,b3] in dom b1
       holds (P1[b2, b3] implies b1 . [b2,b3] = F4(b2, b3)) & (P2[b2, b3] implies b1 . [b2,b3] = F5(b2, b3)) & (P3[b2, b3] implies b1 . [b2,b3] = F6(b2, b3)))
provided
   for b1, b2 being set
         st b1 in F1() & b2 in F2()
      holds (P1[b1, b2] implies not (P2[b1, b2])) & (P1[b1, b2] implies not (P3[b1, b2])) & (P2[b1, b2] implies not (P3[b1, b2]))
and
   for b1, b2 being set
         st b1 in F1() & b2 in F2() & P1[b1, b2]
      holds F4(b1, b2) in F3()
and
   for b1, b2 being set
         st b1 in F1() & b2 in F2() & P2[b1, b2]
      holds F5(b1, b2) in F3()
and
   for b1, b2 being set
         st b1 in F1() & b2 in F2() & P3[b1, b2]
      holds F6(b1, b2) in F3();


:: SCHEME1:sch 19
scheme SCHEME1:sch 19
{F1 -> non empty set,
  F2 -> non empty set,
  F3 -> Element of F2(),
  F4 -> Element of F2(),
  F5 -> Element of F2()}:
ex b1 being Function-like quasi_total Relation of F1(),F2() st
   for b2 being Element of F1() holds
      (P1[b2] implies b1 . b2 = F3(b2)) & (P2[b2] implies b1 . b2 = F4(b2)) & (P3[b2] implies b1 . b2 = F5(b2))
provided
   for b1 being Element of F1() holds
      (P1[b1] implies not (P2[b1])) & (P1[b1] implies not (P3[b1])) & (P2[b1] implies not (P3[b1]))
and
   for b1 being Element of F1()
         st not (P1[b1]) & not (P2[b1])
      holds P3[b1];


:: SCHEME1:sch 20
scheme SCHEME1:sch 20
{F1 -> non empty set,
  F2 -> non empty set,
  F3 -> Element of F2(),
  F4 -> Element of F2(),
  F5 -> Element of F2(),
  F6 -> Element of F2()}:
ex b1 being Function-like quasi_total Relation of F1(),F2() st
   for b2 being Element of F1() holds
      (P1[b2] implies b1 . b2 = F3(b2)) & (P2[b2] implies b1 . b2 = F4(b2)) & (P3[b2] implies b1 . b2 = F5(b2)) & (P4[b2] implies b1 . b2 = F6(b2))
provided
   for b1 being Element of 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
   for b1 being Element of F1()
         st not (P1[b1]) & not (P2[b1]) & not (P3[b1])
      holds P4[b1];


:: SCHEME1:sch 21
scheme SCHEME1:sch 21
{F1 -> non empty set,
  F2 -> non empty set,
  F3 -> non empty set,
  F4 -> Element of F3(),
  F5 -> Element of F3()}:
ex b1 being Function-like quasi_total Relation of [:F1(),F2():],F3() st
   for b2 being Element of F1()
   for b3 being Element of F2()
         st [b2,b3] in dom b1
      holds (P1[b2, b3] implies b1 . [b2,b3] = F4(b2, b3)) & (P1[b2, b3] or b1 . [b2,b3] = F5(b2, b3))


:: SCHEME1:sch 22
scheme SCHEME1:sch 22
{F1 -> non empty set,
  F2 -> non empty set,
  F3 -> non empty set,
  F4 -> Element of F3(),
  F5 -> Element of F3(),
  F6 -> Element of F3()}:
ex b1 being Function-like quasi_total Relation of [:F1(),F2():],F3() st
   (for b2 being Element of F1()
    for b3 being Element of F2() holds
          [b2,b3] in dom b1
       iff
          (not (P1[b2, b3]) & not (P2[b2, b3]) implies P3[b2, b3])) &
    (for b2 being Element of F1()
    for b3 being Element of F2()
          st [b2,b3] in dom b1
       holds (P1[b2, b3] implies b1 . [b2,b3] = F4(b2, b3)) & (P2[b2, b3] implies b1 . [b2,b3] = F5(b2, b3)) & (P3[b2, b3] implies b1 . [b2,b3] = F6(b2, b3)))
provided
   for b1 being Element of F1()
   for b2 being Element of F2() holds
      (P1[b1, b2] implies not (P2[b1, b2])) & (P1[b1, b2] implies not (P3[b1, b2])) & (P2[b1, b2] implies not (P3[b1, b2]))
and
   for b1 being Element of F1()
   for b2 being Element of F2()
         st not (P1[b1, b2]) & not (P2[b1, b2])
      holds P3[b1, b2];