Step
*
2
2
1
of Lemma
vdf-wf+
.....assertion..... 
1. A : Type
2. B : Type
3. C : A ⟶ B ⟶ Type
4. n : ℤ
5. 0 < n
6. vdf(A;B;a,b.C[a;b];n - 1) ∈ Type
7. ∀f:vdf(A;B;a,b.C[a;b];n - 1). ∀L:(a:A × b:B × C[a;b]) List.
     ((||L|| ≤ ((n - 1) + 1))
     
⇒ ((vdf-eq(A;f;L) ∈ ℙ) ∧ (vdf-eq(A;f;L) ⊆r (∀[i:ℕ||L||]. ((fst(L[i])) = (f firstn(i;L) (fst(snd(L[i])))) ∈ A)))))
8. vdf(A;B;a,b.C[a;b];n) ∈ Type
9. f : vdf(A;B;a,b.C[a;b];n)
10. L : (a:A × b:B × C[a;b]) List
11. ||L|| ≤ (n + 1)
⊢ ∀m:ℕ
    (m < ||L||
    
⇒ (dep-all(m;i.let a,b,c = firstn(||L|| - 1;L)[i] in 
       a = (f firstn(i;firstn(||L|| - 1;L)) b) ∈ A) ~ dep-all(m;i.let a,b,c = L[i] in 
       a = (f firstn(i;L) b) ∈ A)))
BY
{ (InductionOnNat
   THEN Intro
   THEN Unfold `dep-all` 0
   THEN Reduce 0
   THEN Try (Trivial)
   THEN (Assert ¬m < 1 BY
               Auto)
   THEN (Reduce 0 THENA Auto)
   THEN EqCD
   THEN Try ((BackThruSomeHyp THEN Auto))
   THEN EqCD
   THEN Try (RepeatFor 3 (EqCD))
   THEN Try (Trivial)) }
1
1. A : Type
2. B : Type
3. C : A ⟶ B ⟶ Type
4. n : ℤ
5. 0 < n
6. vdf(A;B;a,b.C[a;b];n - 1) ∈ Type
7. ∀f:vdf(A;B;a,b.C[a;b];n - 1). ∀L:(a:A × b:B × C[a;b]) List.
     ((||L|| ≤ ((n - 1) + 1))
     
⇒ ((vdf-eq(A;f;L) ∈ ℙ) ∧ (vdf-eq(A;f;L) ⊆r (∀[i:ℕ||L||]. ((fst(L[i])) = (f firstn(i;L) (fst(snd(L[i])))) ∈ A)))))
8. vdf(A;B;a,b.C[a;b];n) ∈ Type
9. f : vdf(A;B;a,b.C[a;b];n)
10. L : (a:A × b:B × C[a;b]) List
11. ||L|| ≤ (n + 1)
12. m : ℤ
13. 0 < m
14. m - 1 < ||L||
⇒ (dep-all(m - 1;i.let a,b,c = firstn(||L|| - 1;L)[i] in 
   a = (f firstn(i;firstn(||L|| - 1;L)) b) ∈ A) ~ dep-all(m - 1;i.let a,b,c = L[i] in 
   a = (f firstn(i;L) b) ∈ A))
15. m < ||L||
16. ¬m < 1
17. @0 : Base
⊢ firstn(||L|| - 1;L)[m - 1] ~ L[m - 1]
2
1. A : Type
2. B : Type
3. C : A ⟶ B ⟶ Type
4. n : ℤ
5. 0 < n
6. vdf(A;B;a,b.C[a;b];n - 1) ∈ Type
7. ∀f:vdf(A;B;a,b.C[a;b];n - 1). ∀L:(a:A × b:B × C[a;b]) List.
     ((||L|| ≤ ((n - 1) + 1))
     
⇒ ((vdf-eq(A;f;L) ∈ ℙ) ∧ (vdf-eq(A;f;L) ⊆r (∀[i:ℕ||L||]. ((fst(L[i])) = (f firstn(i;L) (fst(snd(L[i])))) ∈ A)))))
8. vdf(A;B;a,b.C[a;b];n) ∈ Type
9. f : vdf(A;B;a,b.C[a;b];n)
10. L : (a:A × b:B × C[a;b]) List
11. ||L|| ≤ (n + 1)
12. m : ℤ
13. 0 < m
14. m - 1 < ||L||
⇒ (dep-all(m - 1;i.let a,b,c = firstn(||L|| - 1;L)[i] in 
   a = (f firstn(i;firstn(||L|| - 1;L)) b) ∈ A) ~ dep-all(m - 1;i.let a,b,c = L[i] in 
   a = (f firstn(i;L) b) ∈ A))
15. m < ||L||
16. ¬m < 1
17. @0 : Base
18. a : Base
19. b : Base
20. c : Base
⊢ firstn(m - 1;firstn(||L|| - 1;L)) ~ firstn(m - 1;L)
Latex:
Latex:
.....assertion..... 
1.  A  :  Type
2.  B  :  Type
3.  C  :  A  {}\mrightarrow{}  B  {}\mrightarrow{}  Type
4.  n  :  \mBbbZ{}
5.  0  <  n
6.  vdf(A;B;a,b.C[a;b];n  -  1)  \mmember{}  Type
7.  \mforall{}f:vdf(A;B;a,b.C[a;b];n  -  1).  \mforall{}L:(a:A  \mtimes{}  b:B  \mtimes{}  C[a;b])  List.
          ((||L||  \mleq{}  ((n  -  1)  +  1))
          {}\mRightarrow{}  ((vdf-eq(A;f;L)  \mmember{}  \mBbbP{})
                \mwedge{}  (vdf-eq(A;f;L)  \msubseteq{}r  (\mforall{}[i:\mBbbN{}||L||].  ((fst(L[i]))  =  (f  firstn(i;L)  (fst(snd(L[i])))))))))
8.  vdf(A;B;a,b.C[a;b];n)  \mmember{}  Type
9.  f  :  vdf(A;B;a,b.C[a;b];n)
10.  L  :  (a:A  \mtimes{}  b:B  \mtimes{}  C[a;b])  List
11.  ||L||  \mleq{}  (n  +  1)
\mvdash{}  \mforall{}m:\mBbbN{}
        (m  <  ||L||
        {}\mRightarrow{}  (dep-all(m;i.let  a,b,c  =  firstn(||L||  -  1;L)[i]  in 
              a  =  (f  firstn(i;firstn(||L||  -  1;L))  b))  \msim{}  dep-all(m;i.let  a,b,c  =  L[i]  in 
              a  =  (f  firstn(i;L)  b))))
By
Latex:
(InductionOnNat
  THEN  Intro
  THEN  Unfold  `dep-all`  0
  THEN  Reduce  0
  THEN  Try  (Trivial)
  THEN  (Assert  \mneg{}m  <  1  BY
                          Auto)
  THEN  (Reduce  0  THENA  Auto)
  THEN  EqCD
  THEN  Try  ((BackThruSomeHyp  THEN  Auto))
  THEN  EqCD
  THEN  Try  (RepeatFor  3  (EqCD))
  THEN  Try  (Trivial))
Home
Index