Step
*
1
1
1
1
of Lemma
urec-level-property
1. F : Type ⟶ Type
2. Monotone(T.F[T])
3. ∀T:Type. ((T ⊆r Base) 
⇒ (F[T] ⊆r Base))
4. f : ⋂T:{T:Type| T ⊆r Base} . (x:F[T] ⟶ decomp{i:l}(T.F[T];T;x))
5. n : ℤ
6. 0 < n
7. ∀x:urec(F). (urec-level(f;x) < n - 1 
⇒ (x ∈ F^urec-level(f;x) Void))
8. m : ℕ
9. x : F^m Void
10. ¬(m = 0 ∈ ℤ)
11. ∀m:ℕ. ((F^m Void) ⊆r Base)
⊢ urec-level(f;x) < n 
⇒ (x ∈ F^urec-level(f;x) Void)
BY
{ (RecUnfold `urec-level` 0⋅
   THEN (GenConcl ⌜x = z ∈ (F (F^m - 1 Void))⌝⋅ THENA (Auto THEN RWO "fun_exp_add1" 0 THEN Auto))
   THEN (((GenConclAtAddrType ⌜decomp{i:l}(T.F[T];F^m - 1 Void;z)⌝ [1;1;1])⋅ THENA (Auto THEN MemTypeCD THEN Auto))
         THEN (RepeatFor 2 (D (-2)) THEN Reduce 0)⋅
         )⋅)⋅ }
1
1. F : Type ⟶ Type
2. Monotone(T.F[T])
3. ∀T:Type. ((T ⊆r Base) 
⇒ (F[T] ⊆r Base))
4. f : ⋂T:{T:Type| T ⊆r Base} . (x:F[T] ⟶ decomp{i:l}(T.F[T];T;x))
5. n : ℤ
6. 0 < n
7. ∀x:urec(F). (urec-level(f;x) < n - 1 
⇒ (x ∈ F^urec-level(f;x) Void))
8. m : ℕ
9. x : F^m Void
10. ¬(m = 0 ∈ ℤ)
11. ∀m:ℕ. ((F^m Void) ⊆r Base)
12. z : F (F^m - 1 Void)
13. x = z ∈ (F (F^m - 1 Void))
14. con : Constr(T.F[T])
15. v1 : (F^m - 1 Void) List
16. [%18] : ap-con(con;v1) = z ∈ F[F^m - 1 Void]
17. (f z) = <con, v1> ∈ decomp{i:l}(T.F[T];F^m - 1 Void;z)
⊢ if null(v1) then 1 else imax-list(map(λt.urec-level(f;t);v1)) + 1 fi  < n
⇒ (z ∈ F^if null(v1) then 1 else imax-list(map(λt.urec-level(f;t);v1)) + 1 fi  Void)
Latex:
Latex:
1.  F  :  Type  {}\mrightarrow{}  Type
2.  Monotone(T.F[T])
3.  \mforall{}T:Type.  ((T  \msubseteq{}r  Base)  {}\mRightarrow{}  (F[T]  \msubseteq{}r  Base))
4.  f  :  \mcap{}T:\{T:Type|  T  \msubseteq{}r  Base\}  .  (x:F[T]  {}\mrightarrow{}  decomp\{i:l\}(T.F[T];T;x))
5.  n  :  \mBbbZ{}
6.  0  <  n
7.  \mforall{}x:urec(F).  (urec-level(f;x)  <  n  -  1  {}\mRightarrow{}  (x  \mmember{}  F\^{}urec-level(f;x)  Void))
8.  m  :  \mBbbN{}
9.  x  :  F\^{}m  Void
10.  \mneg{}(m  =  0)
11.  \mforall{}m:\mBbbN{}.  ((F\^{}m  Void)  \msubseteq{}r  Base)
\mvdash{}  urec-level(f;x)  <  n  {}\mRightarrow{}  (x  \mmember{}  F\^{}urec-level(f;x)  Void)
By
Latex:
(RecUnfold  `urec-level`  0\mcdot{}
  THEN  (GenConcl  \mkleeneopen{}x  =  z\mkleeneclose{}\mcdot{}  THENA  (Auto  THEN  RWO  "fun\_exp\_add1"  0  THEN  Auto))
  THEN  (((GenConclAtAddrType  \mkleeneopen{}decomp\{i:l\}(T.F[T];F\^{}m  -  1  Void;z)\mkleeneclose{}  [1;1;1])\mcdot{}
                THENA  (Auto  THEN  MemTypeCD  THEN  Auto)
                )
              THEN  (RepeatFor  2  (D  (-2))  THEN  Reduce  0)\mcdot{}
              )\mcdot{})\mcdot{}
Home
Index