Step * 2 of Lemma star-append-iff


1. [T] Type
2. [P] (T List) ⟶ ℙ
3. [Q] (T List) ⟶ ℙ
4. List
5. (Q L)
∨ (∃L1,L2:T List
    ((L (L1 L2) ∈ (T List))
    ∧ (P L1)
    ∧ (∃LL:T List List. ∃L':T List. ((∀X∈LL.P X) ∧ (Q L') ∧ (L2 (concat(LL) L') ∈ (T List))))))
⊢ ∃LL:T List List. ∃L':T List. ((∀X∈LL.P X) ∧ (Q L') ∧ (L (concat(LL) L') ∈ (T List)))
BY
((D (-1))
   THENL [((InstConcl [⌜[]⌝; ⌜L⌝])⋅ THEN Reduce THEN Auto THEN Try ((BLemma `l_all_nil` THEN Auto)))
         (ExRepD THEN (InstConcl [⌜[L1 LL]⌝; ⌜L'⌝])⋅ THEN Auto)]
}

1
1. Type
2. (T List) ⟶ ℙ
3. (T List) ⟶ ℙ
4. List
5. L1 List
6. L2 List
7. (L1 L2) ∈ (T List)
8. L1
9. LL List List
10. L' List
11. (∀X∈LL.P X)
12. L'
13. L2 (concat(LL) L') ∈ (T List)
14. (∀X∈[L1 LL].P X)
15. L'
⊢ (concat([L1 LL]) L') ∈ (T List)


Latex:


Latex:

1.  [T]  :  Type
2.  [P]  :  (T  List)  {}\mrightarrow{}  \mBbbP{}
3.  [Q]  :  (T  List)  {}\mrightarrow{}  \mBbbP{}
4.  L  :  T  List
5.  (Q  L)
\mvee{}  (\mexists{}L1,L2:T  List
        ((L  =  (L1  @  L2))
        \mwedge{}  (P  L1)
        \mwedge{}  (\mexists{}LL:T  List  List.  \mexists{}L':T  List.  ((\mforall{}X\mmember{}LL.P  X)  \mwedge{}  (Q  L')  \mwedge{}  (L2  =  (concat(LL)  @  L'))))))
\mvdash{}  \mexists{}LL:T  List  List.  \mexists{}L':T  List.  ((\mforall{}X\mmember{}LL.P  X)  \mwedge{}  (Q  L')  \mwedge{}  (L  =  (concat(LL)  @  L')))


By


Latex:
((D  (-1))
  THENL  [((InstConcl  [\mkleeneopen{}[]\mkleeneclose{};  \mkleeneopen{}L\mkleeneclose{}])\mcdot{}  THEN  Reduce  0  THEN  Auto  THEN  Try  ((BLemma  `l\_all\_nil`  THEN  Auto)))
              ;  (ExRepD  THEN  (InstConcl  [\mkleeneopen{}[L1  /  LL]\mkleeneclose{};  \mkleeneopen{}L'\mkleeneclose{}])\mcdot{}  THEN  Auto)]
)




Home Index