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


1. Type
2. : ℕ
3. : ℕ1
4. : ℕn ⟶ Type
5. bags k:ℕn ⟶ bag(A k)
6. funtype(n m;λx.(A (x m));bag(B))
7. B
8. ↓∃lst:k:{m..n-} ⟶ (A k). ((∀[k:{m..n-}]. lst k ↓∈ bags k) ∧ b ↓∈ uncurry-gen(n) x.f) lst)
⊢ b ↓∈ concat-lifting-list(n;bags) f
BY
((D (-6) THENA Auto)
   THEN MoveToConcl (-1)
   THEN MoveToConcl (-2)
   THEN (Assert ⌜∃p:ℕ(m (n p) ∈ ℤ)⌝⋅ THENA (InstConcl [⌜m⌝]⋅ THEN Auto'))
   THEN (-1)
   THEN MoveToConcl (-6)
   THEN HypSubst' (-1) 0
   THEN Thin (-1)⋅
   THEN Thin (-5)
   THEN NatInd (-1)
   THEN (UnivCD THENA Auto')
   THEN Try (Complete ((InstLemma `uncurry-gen_wf2` [⌜bag(B)⌝; ⌜n⌝; ⌜p⌝; ⌜p⌝; ⌜A⌝; ⌜λx.f⌝]⋅ THEN Auto)⋅))
   THEN Try (Complete ((InstLemma `uncurry-gen_wf2` [⌜bag(B)⌝; ⌜n⌝; ⌜0⌝; ⌜0⌝; ⌜A⌝; ⌜λx.f⌝]⋅ THEN Auto))))⋅ }

1
1. Type
2. : ℕ
3. : ℕn ⟶ Type
4. bags k:ℕn ⟶ bag(A k)
5. B
6. : ℤ
7. 0 ≤ 0 < 1
8. funtype(n 0;λx.(A (x (n 0)));bag(B))
9. ↓∃lst:k:{n 0..n-} ⟶ (A k). ((∀[k:{n 0..n-}]. lst k ↓∈ bags k) ∧ b ↓∈ uncurry-gen(n) (n 0) x.f) lst)
⊢ b ↓∈ concat-lifting-list(n;bags) (n 0) f

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


Latex:


Latex:

1.  B  :  Type
2.  n  :  \mBbbN{}
3.  m  :  \mBbbN{}n  +  1
4.  A  :  \mBbbN{}n  {}\mrightarrow{}  Type
5.  bags  :  k:\mBbbN{}n  {}\mrightarrow{}  bag(A  k)
6.  f  :  funtype(n  -  m;\mlambda{}x.(A  (x  +  m));bag(B))
7.  b  :  B
8.  \mdownarrow{}\mexists{}lst:k:\{m..n\msupminus{}\}  {}\mrightarrow{}  (A  k).  ((\mforall{}[k:\{m..n\msupminus{}\}].  lst  k  \mdownarrow{}\mmember{}  bags  k)  \mwedge{}  b  \mdownarrow{}\mmember{}  uncurry-gen(n)  m  (\mlambda{}x.f)  lst)
\mvdash{}  b  \mdownarrow{}\mmember{}  concat-lifting-list(n;bags)  m  f


By


Latex:
((D  (-6)  THENA  Auto)
  THEN  MoveToConcl  (-1)
  THEN  MoveToConcl  (-2)
  THEN  (Assert  \mkleeneopen{}\mexists{}p:\mBbbN{}.  (m  =  (n  -  p))\mkleeneclose{}\mcdot{}  THENA  (InstConcl  [\mkleeneopen{}n  -  m\mkleeneclose{}]\mcdot{}  THEN  Auto'))
  THEN  D  (-1)
  THEN  MoveToConcl  (-6)
  THEN  HypSubst'  (-1)  0
  THEN  Thin  (-1)\mcdot{}
  THEN  Thin  (-5)
  THEN  NatInd  (-1)
  THEN  (UnivCD  THENA  Auto')
  THEN  Try  (Complete  ((InstLemma  `uncurry-gen\_wf2`  [\mkleeneopen{}bag(B)\mkleeneclose{};  \mkleeneopen{}n\mkleeneclose{};  \mkleeneopen{}n  -  p\mkleeneclose{};  \mkleeneopen{}n  -  p\mkleeneclose{};  \mkleeneopen{}A\mkleeneclose{};  \mkleeneopen{}\mlambda{}x.f\mkleeneclose{}]\mcdot{}
                                            THEN  Auto
                                            )\mcdot{}))
  THEN  Try  (Complete  ((InstLemma  `uncurry-gen\_wf2`  [\mkleeneopen{}bag(B)\mkleeneclose{};  \mkleeneopen{}n\mkleeneclose{};  \mkleeneopen{}n  -  0\mkleeneclose{};  \mkleeneopen{}n  -  0\mkleeneclose{};  \mkleeneopen{}A\mkleeneclose{};  \mkleeneopen{}\mlambda{}x.f\mkleeneclose{}]\mcdot{}
                                            THEN  Auto
                                            ))))\mcdot{}




Home Index