Step
*
of Lemma
lifting-gen-list-rev_wf
∀[B:Type]. ∀[n:ℕ]. ∀[m:ℕn + 1]. ∀[A:ℕn ⟶ Type]. ∀[bags:k:ℕn ⟶ bag(A k)]. ∀[g:funtype(n - m;λx.(A (x + m));B)].
  (lifting-gen-list-rev(n;bags) m g ∈ bag(B))
BY
{ (RepeatFor 3 ((D 0 THENA Auto))
   THEN (Assert ⌜∃p:ℕ. (m = (n - p) ∈ ℤ)⌝⋅ THENA (InstConcl [⌜n - m⌝]⋅ THEN Auto))
   THEN D (-1)
   THEN (D (-3) THENA Auto)
   THEN HypSubst' (-1) 0
   THEN (HypSubst' (-1) (-3) THENA Auto)
   THEN Thin (-2)
   THEN Thin (-3)
   THEN NatInd (-2)
   THEN (UnivCD THENA Auto)⋅
   THEN RecUnfold `lifting-gen-list-rev` 0⋅
   THEN Reduce 0
   THEN OldAutoSplit
   THEN Auto')⋅ }
1
1. B : Type
2. n : ℕ
3. p : ℤ
4. 0 < p
5. 0 ≤ n - p - 1 < n + 1
⇒ (∀[A:ℕn ⟶ Type]. ∀[bags:k:ℕn ⟶ bag(A k)]. ∀[g:funtype(n - n - p - 1;λx.(A (x + (n - p - 1)));B)].
      (lifting-gen-list-rev(n;bags) (n - p - 1) g ∈ bag(B)))
6. 0 ≤ (n - p)
7. n - p < n + 1
8. A : ℕn ⟶ Type
9. bags : k:ℕn ⟶ bag(A k)
10. g : funtype(n - n - p;λx.(A (x + (n - p)));B)
11. ¬(n = (n - p) ∈ ℤ)
12. x : A (n - p)
⊢ lifting-gen-list-rev(n;bags) ((n - p) + 1) (g x) ∈ bag(B)
Latex:
Latex:
\mforall{}[B:Type].  \mforall{}[n:\mBbbN{}].  \mforall{}[m:\mBbbN{}n  +  1].  \mforall{}[A:\mBbbN{}n  {}\mrightarrow{}  Type].  \mforall{}[bags:k:\mBbbN{}n  {}\mrightarrow{}  bag(A  k)].
\mforall{}[g:funtype(n  -  m;\mlambda{}x.(A  (x  +  m));B)].
    (lifting-gen-list-rev(n;bags)  m  g  \mmember{}  bag(B))
By
Latex:
(RepeatFor  3  ((D  0  THENA  Auto))
  THEN  (Assert  \mkleeneopen{}\mexists{}p:\mBbbN{}.  (m  =  (n  -  p))\mkleeneclose{}\mcdot{}  THENA  (InstConcl  [\mkleeneopen{}n  -  m\mkleeneclose{}]\mcdot{}  THEN  Auto))
  THEN  D  (-1)
  THEN  (D  (-3)  THENA  Auto)
  THEN  HypSubst'  (-1)  0
  THEN  (HypSubst'  (-1)  (-3)  THENA  Auto)
  THEN  Thin  (-2)
  THEN  Thin  (-3)
  THEN  NatInd  (-2)
  THEN  (UnivCD  THENA  Auto)\mcdot{}
  THEN  RecUnfold  `lifting-gen-list-rev`  0\mcdot{}
  THEN  Reduce  0
  THEN  OldAutoSplit
  THEN  Auto')\mcdot{}
Home
Index