Step
*
1
of Lemma
very-dep-fun-subtype
1. A : Type
2. B : Type
3. C : A ⟶ B ⟶ Type
4. f : very-dep-fun(A;B;a,b.C[a;b])
5. L : (a:A × b:B × C[a;b]) List
6. vdf-eq(A;f;L)
⊢ f L ∈ B ⟶ A
BY
{ ((Assert f ∈ vdf(A;B;a,b.C[a;b];||L||) BY Auto) THEN Unfold `vdf` -1 THEN (SplitOnHypITE -1  THENA Auto)) }
1
.....truecase..... 
1. A : Type
2. B : Type
3. C : A ⟶ B ⟶ Type
4. f : very-dep-fun(A;B;a,b.C[a;b])
5. L : (a:A × b:B × C[a;b]) List
6. vdf-eq(A;f;L)
7. f ∈ {L:(a:A × b:B × C[a;b]) List| ||L|| = 0 ∈ ℤ}  ⟶ B ⟶ A
8. ||L|| < 1
⊢ f L ∈ B ⟶ A
2
.....falsecase..... 
1. A : Type
2. B : Type
3. C : A ⟶ B ⟶ Type
4. f : very-dep-fun(A;B;a,b.C[a;b])
5. L : (a:A × b:B × C[a;b]) List
6. vdf-eq(A;f;L)
7. f ∈ f:vdf(A;B;a,b.C[a;b];||L|| - 1) ⋂ {L@0:(a:A × b:B × C[a;b]) List| (||L@0|| ≤ ||L||) ∧ vdf-eq(A;f;L@0)}  ⟶ B ⟶ A
8. ¬||L|| < 1
⊢ f L ∈ B ⟶ A
Latex:
Latex:
1.  A  :  Type
2.  B  :  Type
3.  C  :  A  {}\mrightarrow{}  B  {}\mrightarrow{}  Type
4.  f  :  very-dep-fun(A;B;a,b.C[a;b])
5.  L  :  (a:A  \mtimes{}  b:B  \mtimes{}  C[a;b])  List
6.  vdf-eq(A;f;L)
\mvdash{}  f  L  \mmember{}  B  {}\mrightarrow{}  A
By
Latex:
((Assert  f  \mmember{}  vdf(A;B;a,b.C[a;b];||L||)  BY
                Auto)
  THEN  Unfold  `vdf`  -1
  THEN  (SplitOnHypITE  -1    THENA  Auto))
Home
Index