Step * 2 of Lemma interleaved_split


1. [T] Type
2. T
3. List
4. ∀[P:T ⟶ ℙ]
     ((∀x:T. Dec(P[x]))
      (∃L1,L2:T List
          (interleaving(T;L1;L2;v) ∧ (∀x:T. ((x ∈ L1) ⇐⇒ (x ∈ v) ∧ P[x])) ∧ (∀x:T. ((x ∈ L2) ⇐⇒ (x ∈ v) ∧ P[x]))))))
⊢ ∀[P:T ⟶ ℙ]
    ((∀x:T. Dec(P[x]))
     (∃L1,L2:T List
         (interleaving(T;L1;L2;[u v])
         ∧ (∀x:T. ((x ∈ L1) ⇐⇒ (x ∈ [u v]) ∧ P[x]))
         ∧ (∀x:T. ((x ∈ L2) ⇐⇒ (x ∈ [u v]) ∧ P[x]))))))
BY
TACTIC:((((RepeatFor ((ParallelOp (-1))))⋅
            THEN Auto
            THEN ExRepD
            THEN AssertBY Dec(P[u]) EasyHyp⋅
            THEN ((D (-1)) THENL [InstConcl [[u L1];L2]⋅InstConcl [L1;[u L2]]⋅]))
           THENA Auto
           )
          THEN RWO "cons_member" 0
          THEN Auto
          THEN Try ((ParallelOp (-2) THEN Complete (Auto)))
          THEN Try ((ParallelOp (-1) THEN Complete (Auto)))
          THEN Try ((SplitOrHyps THEN Auto))) }

1
1. [T] Type
2. T
3. List
4. ∀[P:T ⟶ ℙ]
     ((∀x:T. Dec(P[x]))
      (∃L1,L2:T List
          (interleaving(T;L1;L2;v) ∧ (∀x:T. ((x ∈ L1) ⇐⇒ (x ∈ v) ∧ P[x])) ∧ (∀x:T. ((x ∈ L2) ⇐⇒ (x ∈ v) ∧ P[x]))))))
5. [P] T ⟶ ℙ
6. ∀x:T. Dec(P[x])
7. L1 List
8. L2 List
9. interleaving(T;L1;L2;v)
10. ∀x:T. ((x ∈ L1) ⇐⇒ (x ∈ v) ∧ P[x])
11. ∀x:T. ((x ∈ L2) ⇐⇒ (x ∈ v) ∧ P[x]))
12. P[u]
⊢ interleaving(T;[u L1];L2;[u v])

2
1. [T] Type
2. T
3. List
4. ∀[P:T ⟶ ℙ]
     ((∀x:T. Dec(P[x]))
      (∃L1,L2:T List
          (interleaving(T;L1;L2;v) ∧ (∀x:T. ((x ∈ L1) ⇐⇒ (x ∈ v) ∧ P[x])) ∧ (∀x:T. ((x ∈ L2) ⇐⇒ (x ∈ v) ∧ P[x]))))))
5. [P] T ⟶ ℙ
6. ∀x:T. Dec(P[x])
7. L1 List
8. L2 List
9. interleaving(T;L1;L2;v)
10. ∀x:T. ((x ∈ L1) ⇐⇒ (x ∈ v) ∧ P[x])
11. ∀x:T. ((x ∈ L2) ⇐⇒ (x ∈ v) ∧ P[x]))
12. P[u]
13. interleaving(T;[u L1];L2;[u v])
14. ∀x:T. ((x u ∈ T) ∨ (x ∈ L1) ⇐⇒ ((x u ∈ T) ∨ (x ∈ v)) ∧ P[x])
15. T
16. u ∈ T
17. ¬P[x]
⊢ (x ∈ L2)

3
1. [T] Type
2. T
3. List
4. ∀[P:T ⟶ ℙ]
     ((∀x:T. Dec(P[x]))
      (∃L1,L2:T List
          (interleaving(T;L1;L2;v) ∧ (∀x:T. ((x ∈ L1) ⇐⇒ (x ∈ v) ∧ P[x])) ∧ (∀x:T. ((x ∈ L2) ⇐⇒ (x ∈ v) ∧ P[x]))))))
5. [P] T ⟶ ℙ
6. ∀x:T. Dec(P[x])
7. L1 List
8. L2 List
9. interleaving(T;L1;L2;v)
10. ∀x:T. ((x ∈ L1) ⇐⇒ (x ∈ v) ∧ P[x])
11. ∀x:T. ((x ∈ L2) ⇐⇒ (x ∈ v) ∧ P[x]))
12. ¬P[u]
⊢ interleaving(T;L1;[u L2];[u v])

4
1. [T] Type
2. T
3. List
4. ∀[P:T ⟶ ℙ]
     ((∀x:T. Dec(P[x]))
      (∃L1,L2:T List
          (interleaving(T;L1;L2;v) ∧ (∀x:T. ((x ∈ L1) ⇐⇒ (x ∈ v) ∧ P[x])) ∧ (∀x:T. ((x ∈ L2) ⇐⇒ (x ∈ v) ∧ P[x]))))))
5. [P] T ⟶ ℙ
6. ∀x:T. Dec(P[x])
7. L1 List
8. L2 List
9. interleaving(T;L1;L2;v)
10. ∀x:T. ((x ∈ L1) ⇐⇒ (x ∈ v) ∧ P[x])
11. ∀x:T. ((x ∈ L2) ⇐⇒ (x ∈ v) ∧ P[x]))
12. ¬P[u]
13. interleaving(T;L1;[u L2];[u v])
14. T
15. u ∈ T
16. P[x]
⊢ (x ∈ L1)


Latex:


Latex:

1.  [T]  :  Type
2.  u  :  T
3.  v  :  T  List
4.  \mforall{}[P:T  {}\mrightarrow{}  \mBbbP{}]
          ((\mforall{}x:T.  Dec(P[x]))
          {}\mRightarrow{}  (\mexists{}L1,L2:T  List
                    (interleaving(T;L1;L2;v)
                    \mwedge{}  (\mforall{}x:T.  ((x  \mmember{}  L1)  \mLeftarrow{}{}\mRightarrow{}  (x  \mmember{}  v)  \mwedge{}  P[x]))
                    \mwedge{}  (\mforall{}x:T.  ((x  \mmember{}  L2)  \mLeftarrow{}{}\mRightarrow{}  (x  \mmember{}  v)  \mwedge{}  (\mneg{}P[x]))))))
\mvdash{}  \mforall{}[P:T  {}\mrightarrow{}  \mBbbP{}]
        ((\mforall{}x:T.  Dec(P[x]))
        {}\mRightarrow{}  (\mexists{}L1,L2:T  List
                  (interleaving(T;L1;L2;[u  /  v])
                  \mwedge{}  (\mforall{}x:T.  ((x  \mmember{}  L1)  \mLeftarrow{}{}\mRightarrow{}  (x  \mmember{}  [u  /  v])  \mwedge{}  P[x]))
                  \mwedge{}  (\mforall{}x:T.  ((x  \mmember{}  L2)  \mLeftarrow{}{}\mRightarrow{}  (x  \mmember{}  [u  /  v])  \mwedge{}  (\mneg{}P[x]))))))


By


Latex:
TACTIC:((((RepeatFor  2  ((ParallelOp  (-1))))\mcdot{}
                    THEN  Auto
                    THEN  ExRepD
                    THEN  AssertBY  Dec(P[u])  EasyHyp\mcdot{}
                    THEN  ((D  (-1))  THENL  [InstConcl  [[u  /  L1];L2]\mcdot{};  InstConcl  [L1;[u  /  L2]]\mcdot{}]))
                  THENA  Auto
                  )
                THEN  RWO  "cons\_member"  0
                THEN  Auto
                THEN  Try  ((ParallelOp  (-2)  THEN  Complete  (Auto)))
                THEN  Try  ((ParallelOp  (-1)  THEN  Complete  (Auto)))
                THEN  Try  ((SplitOrHyps  THEN  Auto)))




Home Index