Step * 2 2 1 1 2 1 1 of Lemma concat-lifting-list-member


1. Type
2. : ℕ
3. : ℕn ⟶ Type
4. bags k:ℕn ⟶ bag(A k)
5. B
6. : ℤ
7. 0 < p
8. 0 ≤ (n p)
9. p < 1
10. (A (0 (n p))) ⟶ funtype(p 1;λi.(A ((i 1) (n p)));bag(B))
11. lst k:{n p..n-} ⟶ (A k)
12. ∀[k:{n p..n-}]. lst k ↓∈ bags k
13. b ↓∈ uncurry-gen(n) ((n p) 1) x.(f (x (n p)))) lst
⊢ b ↓∈ uncurry-gen(n) ((n p) 1) x.(f (lst (n p)))) lst
BY
TACTIC:(Subst ⌜(uncurry-gen(n) ((n p) 1) x.(f (x (n p)))) lst)
                 (uncurry-gen(n) ((n p) 1) x.(f (lst (n p)))) lst)
                 ∈ bag(B)⌝ (-1)⋅
          THEN Try (Complete (Auto))
          THEN (InstLemma `apply_uncurry` [⌜bag(B)⌝; ⌜n⌝; ⌜(n p) 1⌝; ⌜p⌝; ⌜A⌝; ⌜lst⌝]⋅ THENA Auto')) }

1
1. Type
2. : ℕ
3. : ℕn ⟶ Type
4. bags k:ℕn ⟶ bag(A k)
5. B
6. : ℤ
7. 0 < p
8. 0 ≤ (n p)
9. p < 1
10. (A (0 (n p))) ⟶ funtype(p 1;λi.(A ((i 1) (n p)));bag(B))
11. lst k:{n p..n-} ⟶ (A k)
12. ∀[k:{n p..n-}]. lst k ↓∈ bags k
13. b ↓∈ uncurry-gen(n) ((n p) 1) x.(f (x (n p)))) lst
14. ∀[f:(k:{n p..n-} ⟶ (A k)) ⟶ funtype(n (n p) 1;λx.(A (x (n p) 1));bag(B))]
      ((uncurry-gen(n) ((n p) 1) lst) (apply_gen(n;lst) ((n p) 1) (f lst)) ∈ bag(B))
⊢ (uncurry-gen(n) ((n p) 1) x.(f (x (n p)))) lst)
(uncurry-gen(n) ((n p) 1) x.(f (lst (n p)))) lst)
∈ bag(B)


Latex:


Latex:

1.  B  :  Type
2.  n  :  \mBbbN{}
3.  A  :  \mBbbN{}n  {}\mrightarrow{}  Type
4.  bags  :  k:\mBbbN{}n  {}\mrightarrow{}  bag(A  k)
5.  b  :  B
6.  p  :  \mBbbZ{}
7.  0  <  p
8.  0  \mleq{}  (n  -  p)
9.  n  -  p  <  n  +  1
10.  f  :  (A  (0  +  (n  -  p)))  {}\mrightarrow{}  funtype(p  -  1;\mlambda{}i.(A  ((i  +  1)  +  (n  -  p)));bag(B))
11.  lst  :  k:\{n  -  p..n\msupminus{}\}  {}\mrightarrow{}  (A  k)
12.  \mforall{}[k:\{n  -  p..n\msupminus{}\}].  lst  k  \mdownarrow{}\mmember{}  bags  k
13.  b  \mdownarrow{}\mmember{}  uncurry-gen(n)  ((n  -  p)  +  1)  (\mlambda{}x.(f  (x  (n  -  p))))  lst
\mvdash{}  b  \mdownarrow{}\mmember{}  uncurry-gen(n)  ((n  -  p)  +  1)  (\mlambda{}x.(f  (lst  (n  -  p))))  lst


By


Latex:
TACTIC:(Subst  \mkleeneopen{}(uncurry-gen(n)  ((n  -  p)  +  1)  (\mlambda{}x.(f  (x  (n  -  p))))  lst)
                              =  (uncurry-gen(n)  ((n  -  p)  +  1)  (\mlambda{}x.(f  (lst  (n  -  p))))  lst)\mkleeneclose{}  (-1)\mcdot{}
                THEN  Try  (Complete  (Auto))
                THEN  (InstLemma  `apply\_uncurry`  [\mkleeneopen{}bag(B)\mkleeneclose{};  \mkleeneopen{}n\mkleeneclose{};  \mkleeneopen{}(n  -  p)  +  1\mkleeneclose{};  \mkleeneopen{}n  -  p\mkleeneclose{};  \mkleeneopen{}A\mkleeneclose{};  \mkleeneopen{}lst\mkleeneclose{}]\mcdot{}
                            THENA  Auto'
                            ))




Home Index