Step * of Lemma concat-decomp

[T:Type]
  ∀ll:T List List. ∀x:T.
    ((x ∈ concat(ll))
    ⇐⇒ ∃ll1,ll2:T List List
         ∃l1,l2:T List
          ((concat(ll) (concat(ll1) (l1 [x] l2) concat(ll2)) ∈ (T List))
          ∧ (ll (ll1 [l1 [x] l2] ll2) ∈ (T List List))))
BY
TACTIC:(Intros THEN RWO "member-concat" THEN Auto THEN ExRepD) }

1
1. [T] Type
2. ll List List
3. T
4. List
5. (l ∈ ll)
6. (x ∈ l)
⊢ ∃ll1,ll2:T List List
   ∃l1,l2:T List
    ((concat(ll) (concat(ll1) (l1 [x] l2) concat(ll2)) ∈ (T List))
    ∧ (ll (ll1 [l1 [x] l2] ll2) ∈ (T List List)))

2
1. [T] Type
2. ll List List
3. T
4. ll1 List List
5. ll2 List List
6. l1 List
7. l2 List
8. concat(ll) (concat(ll1) (l1 [x] l2) concat(ll2)) ∈ (T List)
9. ll (ll1 [l1 [x] l2] ll2) ∈ (T List List)
⊢ ∃l:T List. ((l ∈ ll) ∧ (x ∈ l))


Latex:


Latex:
\mforall{}[T:Type]
    \mforall{}ll:T  List  List.  \mforall{}x:T.
        ((x  \mmember{}  concat(ll))
        \mLeftarrow{}{}\mRightarrow{}  \mexists{}ll1,ll2:T  List  List
                  \mexists{}l1,l2:T  List
                    ((concat(ll)  =  (concat(ll1)  @  (l1  @  [x]  @  l2)  @  concat(ll2)))
                    \mwedge{}  (ll  =  (ll1  @  [l1  @  [x]  @  l2]  @  ll2))))


By


Latex:
TACTIC:(Intros  THEN  RWO  "member-concat"  0  THEN  Auto  THEN  ExRepD)




Home Index