Step * of Lemma accum_split_prefix2

[A,T:Type]. ∀[x:A]. ∀[g:(T List × A) ⟶ A]. ∀[f:(T List × A) ⟶ 𝔹]. ∀[L:T List]. ∀[ZZ:(T List × A) List].
[Z,X:T List × A].
  accum_split(g;x;f;concat(map(λp.(fst(p));ZZ [Z]))) = <ZZ, Z> ∈ ((T List × A) List × List × A) 
  supposing accum_split(g;x;f;L) = <ZZ [Z], X> ∈ ((T List × A) List × List × A)
BY
xxx(Auto THEN RepeatFor (MoveToConcl (-1)) THEN BLemma `last_induction` THEN Auto)xxx }

1
1. Type
2. Type
3. A
4. (T List × A) ⟶ A
5. (T List × A) ⟶ 𝔹
6. ZZ (T List × A) List
7. List × A
8. List × A
9. accum_split(g;x;f;[]) = <ZZ [Z], X> ∈ ((T List × A) List × List × A)
⊢ accum_split(g;x;f;concat(map(λp.(fst(p));ZZ [Z]))) = <ZZ, Z> ∈ ((T List × A) List × List × A)

2
1. Type
2. Type
3. A
4. (T List × A) ⟶ A
5. (T List × A) ⟶ 𝔹
6. ys List
7. T
8. ∀ZZ:(T List × A) List. ∀Z,X:T List × A.
     ((accum_split(g;x;f;ys) = <ZZ [Z], X> ∈ ((T List × A) List × List × A))
      (accum_split(g;x;f;concat(map(λp.(fst(p));ZZ [Z]))) = <ZZ, Z> ∈ ((T List × A) List × List × A)))
9. ZZ (T List × A) List
10. List × A
11. List × A
12. accum_split(g;x;f;ys [y]) = <ZZ [Z], X> ∈ ((T List × A) List × List × A)
⊢ accum_split(g;x;f;concat(map(λp.(fst(p));ZZ [Z]))) = <ZZ, Z> ∈ ((T List × A) List × List × A)


Latex:


Latex:
\mforall{}[A,T:Type].  \mforall{}[x:A].  \mforall{}[g:(T  List  \mtimes{}  A)  {}\mrightarrow{}  A].  \mforall{}[f:(T  List  \mtimes{}  A)  {}\mrightarrow{}  \mBbbB{}].  \mforall{}[L:T  List].
\mforall{}[ZZ:(T  List  \mtimes{}  A)  List].  \mforall{}[Z,X:T  List  \mtimes{}  A].
    accum\_split(g;x;f;concat(map(\mlambda{}p.(fst(p));ZZ  @  [Z])))  =  <ZZ,  Z> 
    supposing  accum\_split(g;x;f;L)  =  <ZZ  @  [Z],  X>


By


Latex:
xxx(Auto  THEN  RepeatFor  5  (MoveToConcl  (-1))  THEN  BLemma  `last\_induction`  THEN  Auto)xxx




Home Index