Step * of Lemma global-order-compat-combine

[Info:Type]
  ∀L1,L2:(Id × Info) List.
    (L1 || L2
     (∃L:(Id × Info) List
         (L1 ≤ L
         ∧ (∃f:ℕ||L2|| ─→ ℕ||L||
             ((∀i,j:ℕ||L2||.  (i <  (f i < j ∨ j < ||L1||)))
             ∧ (∀j:ℕ||L2||
                  ((L2[j] L[f j] ∈ (Id × Info))
                  ∧ (filter(λx.fst(x) fst(L2[j]);firstn(j 1;L2))
                    filter(λx.fst(x) fst(L2[j]);firstn((f j) 1;L))
                    ∈ ((Id × Info) List))))
             ∧ (∀x:ℕ||L||. (x < ||L1|| ∨ (∃i:ℕ||L2||. (x (f i) ∈ ℤ))))))
         ∧ L2 ≤ L, locally
         ∧ (∀i:Id
              ((filter(λx.fst(x) i;L) filter(λx.fst(x) i;L1) ∈ ((Id × Info) List))
              ∨ (filter(λx.fst(x) i;L) filter(λx.fst(x) i;L2) ∈ ((Id × Info) List)))))))
BY
(RepeatFor ((D THENA Auto)) THEN BLemma `last_induction` THEN Auto) }

1
1. [Info] Type
2. L1 (Id × Info) List@i
3. L1 || []@i
⊢ ∃L:(Id × Info) List
   (L1 ≤ L
   ∧ (∃f:ℕ||[]|| ─→ ℕ||L||
       ((∀i,j:ℕ||[]||.  (i <  (f i < j ∨ j < ||L1||)))
       ∧ (∀j:ℕ||[]||
            (([][j] L[f j] ∈ (Id × Info))
            ∧ (filter(λx.fst(x) fst([][j]);firstn(j 1;[]))
              filter(λx.fst(x) fst([][j]);firstn((f j) 1;L))
              ∈ ((Id × Info) List))))
       ∧ (∀x:ℕ||L||. (x < ||L1|| ∨ (∃i:ℕ||[]||. (x (f i) ∈ ℤ))))))
   ∧ [] ≤ L, locally
   ∧ (∀i:Id
        ((filter(λx.fst(x) i;L) filter(λx.fst(x) i;L1) ∈ ((Id × Info) List))
        ∨ (filter(λx.fst(x) i;L) filter(λx.fst(x) i;[]) ∈ ((Id × Info) List)))))

2
1. [Info] Type
2. L1 (Id × Info) List@i
3. ys (Id × Info) List@i
4. Id × Info@i
5. L1 || ys
 (∃L:(Id × Info) List
     (L1 ≤ L
     ∧ (∃f:ℕ||ys|| ─→ ℕ||L||
         ((∀i,j:ℕ||ys||.  (i <  (f i < j ∨ j < ||L1||)))
         ∧ (∀j:ℕ||ys||
              ((ys[j] L[f j] ∈ (Id × Info))
              ∧ (filter(λx.fst(x) fst(ys[j]);firstn(j 1;ys))
                filter(λx.fst(x) fst(ys[j]);firstn((f j) 1;L))
                ∈ ((Id × Info) List))))
         ∧ (∀x:ℕ||L||. (x < ||L1|| ∨ (∃i:ℕ||ys||. (x (f i) ∈ ℤ))))))
     ∧ ys ≤ L, locally
     ∧ (∀i:Id
          ((filter(λx.fst(x) i;L) filter(λx.fst(x) i;L1) ∈ ((Id × Info) List))
          ∨ (filter(λx.fst(x) i;L) filter(λx.fst(x) i;ys) ∈ ((Id × Info) List))))))@i
6. L1 || ys [y]@i
⊢ ∃L:(Id × Info) List
   (L1 ≤ L
   ∧ (∃f:ℕ||ys [y]|| ─→ ℕ||L||
       ((∀i,j:ℕ||ys [y]||.  (i <  (f i < j ∨ j < ||L1||)))
       ∧ (∀j:ℕ||ys [y]||
            ((ys [y][j] L[f j] ∈ (Id × Info))
            ∧ (filter(λx.fst(x) fst(ys [y][j]);firstn(j 1;ys [y]))
              filter(λx.fst(x) fst(ys [y][j]);firstn((f j) 1;L))
              ∈ ((Id × Info) List))))
       ∧ (∀x:ℕ||L||. (x < ||L1|| ∨ (∃i:ℕ||ys [y]||. (x (f i) ∈ ℤ))))))
   ∧ ys [y] ≤ L, locally
   ∧ (∀i:Id
        ((filter(λx.fst(x) i;L) filter(λx.fst(x) i;L1) ∈ ((Id × Info) List))
        ∨ (filter(λx.fst(x) i;L) filter(λx.fst(x) i;ys [y]) ∈ ((Id × Info) List)))))


Latex:



Latex:
\mforall{}[Info:Type]
    \mforall{}L1,L2:(Id  \mtimes{}  Info)  List.
        (L1  ||  L2
        {}\mRightarrow{}  (\mexists{}L:(Id  \mtimes{}  Info)  List
                  (L1  \mleq{}  L
                  \mwedge{}  (\mexists{}f:\mBbbN{}||L2||  {}\mrightarrow{}  \mBbbN{}||L||
                          ((\mforall{}i,j:\mBbbN{}||L2||.    (i  <  j  {}\mRightarrow{}  (f  i  <  f  j  \mvee{}  f  j  <  ||L1||)))
                          \mwedge{}  (\mforall{}j:\mBbbN{}||L2||
                                    ((L2[j]  =  L[f  j])
                                    \mwedge{}  (filter(\mlambda{}x.fst(x)  =  fst(L2[j]);firstn(j  +  1;L2))
                                        =  filter(\mlambda{}x.fst(x)  =  fst(L2[j]);firstn((f  j)  +  1;L)))))
                          \mwedge{}  (\mforall{}x:\mBbbN{}||L||.  (x  <  ||L1||  \mvee{}  (\mexists{}i:\mBbbN{}||L2||.  (x  =  (f  i)))))))
                  \mwedge{}  L2  \mleq{}  L,  locally
                  \mwedge{}  (\mforall{}i:Id
                            ((filter(\mlambda{}x.fst(x)  =  i;L)  =  filter(\mlambda{}x.fst(x)  =  i;L1))
                            \mvee{}  (filter(\mlambda{}x.fst(x)  =  i;L)  =  filter(\mlambda{}x.fst(x)  =  i;L2)))))))


By


Latex:
(RepeatFor  2  ((D  0  THENA  Auto))  THEN  BLemma  `last\_induction`  THEN  Auto)




Home Index