Step * of Lemma append_split

[T:Type]
  ∀L:T List
    ∀[P:T ⟶ ℙ]
      ((∀x:ℕ||L||. Dec(P L[x]))
       (∀i,j:ℕ||L||.  ((P L[i])  L[j] supposing i < j))
       (∃L1,L2:T List
           (((L (L1 L2) ∈ (T List)) ∧ (∀i:ℕ||L1||. (P L1[i]))) ∧ (∀i:ℕ||L2||. (P L2[i])))
           ∧ (∀x∈L.(P x)  (x ∈ L2)))))
BY
(InductionOnList THEN Reduce 0) }

1
1. [T] Type
⊢ ∀[P:T ⟶ ℙ]
    ((∀x:ℕ0. Dec(P ⊥))
     (∀i,j:ℕ0.  ((P ⊥ P ⊥ supposing i < j))
     (∃L1,L2:T List
         ((([] (L1 L2) ∈ (T List)) ∧ (∀i:ℕ||L1||. (P L1[i]))) ∧ (∀i:ℕ||L2||. (P L2[i])))
         ∧ (∀x∈[].(P x)  (x ∈ L2)))))

2
1. [T] Type
2. T
3. List
4. ∀[P:T ⟶ ℙ]
     ((∀x:ℕ||v||. Dec(P v[x]))
      (∀i,j:ℕ||v||.  ((P v[i])  v[j] supposing i < j))
      (∃L1,L2:T List
          (((v (L1 L2) ∈ (T List)) ∧ (∀i:ℕ||L1||. (P L1[i]))) ∧ (∀i:ℕ||L2||. (P L2[i])))
          ∧ (∀x∈v.(P x)  (x ∈ L2)))))
⊢ ∀[P:T ⟶ ℙ]
    ((∀x:ℕ||v|| 1. Dec(P [u v][x]))
     (∀i,j:ℕ||v|| 1.  ((P [u v][i])  [u v][j] supposing i < j))
     (∃L1,L2:T List
         ((([u v] (L1 L2) ∈ (T List)) ∧ (∀i:ℕ||L1||. (P L1[i]))) ∧ (∀i:ℕ||L2||. (P L2[i])))
         ∧ (∀x∈[u v].(P x)  (x ∈ L2)))))


Latex:


Latex:
\mforall{}[T:Type]
    \mforall{}L:T  List
        \mforall{}[P:T  {}\mrightarrow{}  \mBbbP{}]
            ((\mforall{}x:\mBbbN{}||L||.  Dec(P  L[x]))
            {}\mRightarrow{}  (\mforall{}i,j:\mBbbN{}||L||.    ((P  L[i])  {}\mRightarrow{}  P  L[j]  supposing  i  <  j))
            {}\mRightarrow{}  (\mexists{}L1,L2:T  List
                      (((L  =  (L1  @  L2))  \mwedge{}  (\mforall{}i:\mBbbN{}||L1||.  (\mneg{}(P  L1[i])))  \mwedge{}  (\mforall{}i:\mBbbN{}||L2||.  (P  L2[i])))
                      \mwedge{}  (\mforall{}x\mmember{}L.(P  x)  {}\mRightarrow{}  (x  \mmember{}  L2)))))


By


Latex:
(InductionOnList  THEN  Reduce  0)




Home Index