Step * 1 2 2 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(n 1;λi.(A ((i 1) (n p)));bag(B))
11. b ↓∈ bag-union(⋃x∈bags (n p).lifting-gen-list-rev(n;bags) ((n p) 1) (f x))
12. ∀f:funtype(n (n p) 1;λx.(A (x (n p) 1));bag(B))
      (b ↓∈ concat-lifting-list(n;bags) ((n p) 1) f
       (↓∃lst:k:{(n p) 1..n-} ⟶ (A k)
            ((∀[k:{(n p) 1..n-}]. lst k ↓∈ bags k) ∧ b ↓∈ uncurry-gen(n) ((n p) 1) x.f) lst)))
13. bag(B)
14. b ↓∈ x
15. x1 (n p)
16. x1 ↓∈ bags (n p)
17. x ↓∈ lifting-gen-list-rev(n;bags) ((n p) 1) (f x1)
18. ¬((n p) 0 ∈ ℤ)
⊢ ↓∃lst:k:{n p..n-} ⟶ (A k). ((∀[k:{n p..n-}]. lst k ↓∈ bags k) ∧ b ↓∈ uncurry-gen(n) (n p) x.f) lst)
BY
(Thin (-1)
   THEN (Unfold `concat-lifting-list` (-6)
         THEN Reduce (-6)
         THEN (InstLemma `bag-member-union` [⌜B⌝; ⌜b⌝; ⌜lifting-gen-list-rev(n;bags) ((n p) 1) (f x1)⌝]⋅ THENA Auto)
         ⋅)⋅
   }

1
.....wf..... 
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(n 1;λi.(A ((i 1) (n p)));bag(B))
11. b ↓∈ bag-union(⋃x∈bags (n p).lifting-gen-list-rev(n;bags) ((n p) 1) (f x))
12. ∀f:funtype(n (n p) 1;λx.(A (x (n p) 1));bag(B))
      (b ↓∈ bag-union(lifting-gen-list-rev(n;bags) ((n p) 1) f)
       (↓∃lst:k:{(n p) 1..n-} ⟶ (A k)
            ((∀[k:{(n p) 1..n-}]. lst k ↓∈ bags k) ∧ b ↓∈ uncurry-gen(n) ((n p) 1) x.f) lst)))
13. bag(B)
14. b ↓∈ x
15. x1 (n p)
16. x1 ↓∈ bags (n p)
17. x ↓∈ lifting-gen-list-rev(n;bags) ((n p) 1) (f x1)
⊢ lifting-gen-list-rev(n;bags) ((n p) 1) (f x1) ∈ bag(bag(B))

2
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(n 1;λi.(A ((i 1) (n p)));bag(B))
11. b ↓∈ bag-union(⋃x∈bags (n p).lifting-gen-list-rev(n;bags) ((n p) 1) (f x))
12. ∀f:funtype(n (n p) 1;λx.(A (x (n p) 1));bag(B))
      (b ↓∈ bag-union(lifting-gen-list-rev(n;bags) ((n p) 1) f)
       (↓∃lst:k:{(n p) 1..n-} ⟶ (A k)
            ((∀[k:{(n p) 1..n-}]. lst k ↓∈ bags k) ∧ b ↓∈ uncurry-gen(n) ((n p) 1) x.f) lst)))
13. bag(B)
14. b ↓∈ x
15. x1 (n p)
16. x1 ↓∈ bags (n p)
17. x ↓∈ lifting-gen-list-rev(n;bags) ((n p) 1) (f x1)
18. uiff(b ↓∈ bag-union(lifting-gen-list-rev(n;bags) ((n p) 1) (f x1));↓∃b@0:bag(B)
                                                                             (b ↓∈ b@0
                                                                             ∧ b@0 ↓∈ lifting-gen-list-rev(n;bags) 
                                                                                      ((n p) 1) 
                                                                                      (f x1)))
⊢ ↓∃lst:k:{n p..n-} ⟶ (A k). ((∀[k:{n p..n-}]. lst k ↓∈ bags k) ∧ b ↓∈ uncurry-gen(n) (n p) x.f) lst)


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(n  -  n  -  p  -  1;\mlambda{}i.(A  ((i  +  1)  +  (n  -  p)));bag(B))
11.  b  \mdownarrow{}\mmember{}  bag-union(\mcup{}x\mmember{}bags  (n  -  p).lifting-gen-list-rev(n;bags)  ((n  -  p)  +  1)  (f  x))
12.  \mforall{}f:funtype(n  -  (n  -  p)  +  1;\mlambda{}x.(A  (x  +  (n  -  p)  +  1));bag(B))
            (b  \mdownarrow{}\mmember{}  concat-lifting-list(n;bags)  ((n  -  p)  +  1)  f
            {}\mRightarrow{}  (\mdownarrow{}\mexists{}lst:k:\{(n  -  p)  +  1..n\msupminus{}\}  {}\mrightarrow{}  (A  k)
                        ((\mforall{}[k:\{(n  -  p)  +  1..n\msupminus{}\}].  lst  k  \mdownarrow{}\mmember{}  bags  k)
                        \mwedge{}  b  \mdownarrow{}\mmember{}  uncurry-gen(n)  ((n  -  p)  +  1)  (\mlambda{}x.f)  lst)))
13.  x  :  bag(B)
14.  b  \mdownarrow{}\mmember{}  x
15.  x1  :  A  (n  -  p)
16.  x1  \mdownarrow{}\mmember{}  bags  (n  -  p)
17.  x  \mdownarrow{}\mmember{}  lifting-gen-list-rev(n;bags)  ((n  -  p)  +  1)  (f  x1)
18.  \mneg{}((n  -  n  -  p)  =  0)
\mvdash{}  \mdownarrow{}\mexists{}lst:k:\{n  -  p..n\msupminus{}\}  {}\mrightarrow{}  (A  k)
        ((\mforall{}[k:\{n  -  p..n\msupminus{}\}].  lst  k  \mdownarrow{}\mmember{}  bags  k)  \mwedge{}  b  \mdownarrow{}\mmember{}  uncurry-gen(n)  (n  -  p)  (\mlambda{}x.f)  lst)


By


Latex:
(Thin  (-1)
  THEN  (Unfold  `concat-lifting-list`  (-6)
              THEN  Reduce  (-6)
              THEN  (InstLemma  `bag-member-union`  [\mkleeneopen{}B\mkleeneclose{};  \mkleeneopen{}b\mkleeneclose{};  \mkleeneopen{}lifting-gen-list-rev(n;bags)  ((n  -  p)  +  1) 
                                                                                                            (f  x1)\mkleeneclose{}]\mcdot{}
                          THENA  Auto
                          )\mcdot{})\mcdot{}
  )




Home Index