Step
*
2
2
of Lemma
lifting-member
1. B : Type
2. n : ℕ
3. m : ℕn + 1
4. A : ℕn ⟶ Type
5. bags : k:ℕn ⟶ bag(A k)
6. f : funtype(n - m;λx.(A (x + m));B)
7. b : B
8. ∃lst:k:{m..n-} ⟶ (A k). ((∀[k:{m..n-}]. lst k ↓∈ bags k) ∧ ((uncurry-gen(n) m (λx.f) lst) = b ∈ B))
⊢ b ↓∈ lifting-gen-list-rev(n;bags) m f
BY
{ TACTIC:((D (-6) THENA Auto)
          THEN MoveToConcl (-1)
          THEN MoveToConcl (-2)
          THEN (Assert ⌜∃p:ℕ. (m = (n - p) ∈ ℤ)⌝⋅ THENA (InstConcl [⌜n - m⌝]⋅ THEN Auto'))
          THEN D (-1)
          THEN MoveToConcl (-6)
          THEN HypSubst' (-1) 0
          THEN Thin (-1)⋅
          THEN Thin (-5)
          THEN NatInd (-1)
          THEN (UnivCD THENA Auto')) }
1
1. B : Type
2. n : ℕ
3. A : ℕn ⟶ Type
4. bags : k:ℕn ⟶ bag(A k)
5. b : B
6. p : ℤ
7. 0 ≤ n - 0 < n + 1
8. f : funtype(n - n - 0;λx.(A (x + (n - 0)));B)
9. ∃lst:k:{n - 0..n-} ⟶ (A k). ((∀[k:{n - 0..n-}]. lst k ↓∈ bags k) ∧ ((uncurry-gen(n) (n - 0) (λx.f) lst) = b ∈ B))
⊢ b ↓∈ lifting-gen-list-rev(n;bags) (n - 0) f
2
1. B : Type
2. n : ℕ
3. A : ℕn ⟶ Type
4. bags : k:ℕn ⟶ bag(A k)
5. b : B
6. p : ℤ
7. 0 ≤ (n - 0)
8. n - 0 < n + 1
9. f : funtype(n - n - 0;λx.(A (x + (n - 0)));B)
10. lst : k:{n - 0..n-} ⟶ (A k)
11. x : ∀[k:{n - 0..n-}]. lst k ↓∈ bags k
⊢ uncurry-gen(n) (n - 0) (λx.f) lst ∈ B
3
1. B : Type
2. n : ℕ
3. A : ℕn ⟶ Type
4. bags : k:ℕn ⟶ bag(A k)
5. b : B
6. p : ℤ
7. 0 < p
8. 0 ≤ n - p - 1 < n + 1
⇒ (∀f:funtype(n - n - p - 1;λx.(A (x + (n - p - 1)));B)
      ((∃lst:k:{n - p - 1..n-} ⟶ (A k)
         ((∀[k:{n - p - 1..n-}]. lst k ↓∈ bags k) ∧ ((uncurry-gen(n) (n - p - 1) (λx.f) lst) = b ∈ B)))
      
⇒ b ↓∈ lifting-gen-list-rev(n;bags) (n - p - 1) f))
9. 0 ≤ n - p < n + 1
10. f : funtype(n - n - p;λx.(A (x + (n - p)));B)
11. ∃lst:k:{n - p..n-} ⟶ (A k). ((∀[k:{n - p..n-}]. lst k ↓∈ bags k) ∧ ((uncurry-gen(n) (n - p) (λx.f) lst) = b ∈ B))
⊢ b ↓∈ lifting-gen-list-rev(n;bags) (n - p) f
4
1. B : Type
2. n : ℕ
3. A : ℕn ⟶ Type
4. bags : k:ℕn ⟶ bag(A k)
5. b : B
6. p : ℤ
7. 0 < p
8. 0 ≤ n - p - 1 < n + 1
⇒ (∀f:funtype(n - n - p - 1;λx.(A (x + (n - p - 1)));B)
      ((∃lst:k:{n - p - 1..n-} ⟶ (A k)
         ((∀[k:{n - p - 1..n-}]. lst k ↓∈ bags k) ∧ ((uncurry-gen(n) (n - p - 1) (λx.f) lst) = b ∈ B)))
      
⇒ b ↓∈ lifting-gen-list-rev(n;bags) (n - p - 1) f))
9. 0 ≤ (n - p)
10. n - p < n + 1
11. f : funtype(n - n - p;λx.(A (x + (n - p)));B)
12. lst : k:{n - p..n-} ⟶ (A k)
13. x : ∀[k:{n - p..n-}]. lst k ↓∈ bags k
⊢ uncurry-gen(n) (n - p) (λx.f) lst ∈ B
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));B)
7.  b  :  B
8.  \mexists{}lst:k:\{m..n\msupminus{}\}  {}\mrightarrow{}  (A  k).  ((\mforall{}[k:\{m..n\msupminus{}\}].  lst  k  \mdownarrow{}\mmember{}  bags  k)  \mwedge{}  ((uncurry-gen(n)  m  (\mlambda{}x.f)  lst)  =  b))
\mvdash{}  b  \mdownarrow{}\mmember{}  lifting-gen-list-rev(n;bags)  m  f
By
Latex:
TACTIC:((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'))
Home
Index