Step * 1 1 2 4 of Lemma valuation-exists


1. formula()
2. v0 {a:formula()| a ⊆ x ∧ (↑pvar?(a))}  ⟶ 𝔹
3. : ℕ
4. : ∀[m:ℕn]. bdd-val(v0;x;m)
5. left formula()
6. a2 formula()
7. (a2 ⊆ x ∧ prank(a2) < n)  extend-val(v0;f;a2) extend-val(v0;λa.extend-val(v0;f;a);a2)
8. (left ⊆ x ∧ prank(left) < n)  extend-val(v0;f;left) extend-val(v0;λa.extend-val(v0;f;a);left)
⊢ (por(left;a2) ⊆ x
∧ imax(formula_ind(left;
                   pvar(name) 0;
                   pnot(sub) rec1.rec1 1;
                   pand(left,right) rec2,rec3.imax(rec2;rec3) 1;
                   por(left,right) rec4,rec5.imax(rec4;rec5) 1;
                   pimp(left,right) rec6,rec7.imax(rec6;rec7) 1) ;
       formula_ind(a2;
                   pvar(name) 0;
                   pnot(sub) rec1.rec1 1;
                   pand(left,right) rec2,rec3.imax(rec2;rec3) 1;
                   por(left,right) rec4,rec5.imax(rec4;rec5) 1;
                   pimp(left,right) rec6,rec7.imax(rec6;rec7) 1) )
  1 < n)
 extend-val(v0;f;por(left;a2)) extend-val(v0;λa.extend-val(v0;f;a);por(left;a2))
BY
(Fold `prank` 0⋅
   THEN (D THENA Auto)
   THEN (RW (SubC (UnfoldTopC `extend-val`)) THEN Reduce THEN EqCD THEN Auto)
   THEN (Assert 1 < BY
               ((RWO "imax_unfold" 10 THEN Auto) THEN SplitOnHypITE 10 THEN Auto))
   THEN (GenConclAtAddrType ⌜bdd-val(v0;x;n 1)⌝ [2;1]⋅ THENA (With ⌜1⌝ (DVar `f')⋅ THEN Auto))
   THEN (-2)
   THEN BHyp -2
   THEN MemTypeCD
   THEN Auto) }

1
1. formula()
2. v0 {a:formula()| a ⊆ x ∧ (↑pvar?(a))}  ⟶ 𝔹
3. : ℕ
4. : ∀[m:ℕn]. bdd-val(v0;x;m)
5. left formula()
6. a2 formula()
7. (a2 ⊆ x ∧ prank(a2) < n)  extend-val(v0;f;a2) extend-val(v0;λa.extend-val(v0;f;a);a2)
8. (left ⊆ x ∧ prank(left) < n)  extend-val(v0;f;left) extend-val(v0;λa.extend-val(v0;f;a);left)
9. por(left;a2) ⊆ x
10. imax(prank(left);prank(a2)) 1 < n
11. 1 < n
12. {a:formula()| a ⊆ x ∧ prank(a) < 1}  ⟶ 𝔹
13. ∀a:{a:formula()| a ⊆ x ∧ prank(a) < 1} extend-val(v0;v;a)
14. v ∈ bdd-val(v0;x;n 1)
⊢ left ⊆ x

2
1. formula()
2. v0 {a:formula()| a ⊆ x ∧ (↑pvar?(a))}  ⟶ 𝔹
3. : ℕ
4. : ∀[m:ℕn]. bdd-val(v0;x;m)
5. left formula()
6. a2 formula()
7. (a2 ⊆ x ∧ prank(a2) < n)  extend-val(v0;f;a2) extend-val(v0;λa.extend-val(v0;f;a);a2)
8. (left ⊆ x ∧ prank(left) < n)  extend-val(v0;f;left) extend-val(v0;λa.extend-val(v0;f;a);left)
9. por(left;a2) ⊆ x
10. imax(prank(left);prank(a2)) 1 < n
11. 1 < n
12. {a:formula()| a ⊆ x ∧ prank(a) < 1}  ⟶ 𝔹
13. ∀a:{a:formula()| a ⊆ x ∧ prank(a) < 1} extend-val(v0;v;a)
14. v ∈ bdd-val(v0;x;n 1)
15. left ⊆ x
⊢ prank(left) < 1

3
1. formula()
2. v0 {a:formula()| a ⊆ x ∧ (↑pvar?(a))}  ⟶ 𝔹
3. : ℕ
4. : ∀[m:ℕn]. bdd-val(v0;x;m)
5. left formula()
6. a2 formula()
7. (a2 ⊆ x ∧ prank(a2) < n)  extend-val(v0;f;a2) extend-val(v0;λa.extend-val(v0;f;a);a2)
8. (left ⊆ x ∧ prank(left) < n)  extend-val(v0;f;left) extend-val(v0;λa.extend-val(v0;f;a);left)
9. por(left;a2) ⊆ x
10. imax(prank(left);prank(a2)) 1 < n
11. 1 < n
12. {a:formula()| a ⊆ x ∧ prank(a) < 1}  ⟶ 𝔹
13. ∀a:{a:formula()| a ⊆ x ∧ prank(a) < 1} extend-val(v0;v;a)
14. v ∈ bdd-val(v0;x;n 1)
⊢ a2 ⊆ x

4
1. formula()
2. v0 {a:formula()| a ⊆ x ∧ (↑pvar?(a))}  ⟶ 𝔹
3. : ℕ
4. : ∀[m:ℕn]. bdd-val(v0;x;m)
5. left formula()
6. a2 formula()
7. (a2 ⊆ x ∧ prank(a2) < n)  extend-val(v0;f;a2) extend-val(v0;λa.extend-val(v0;f;a);a2)
8. (left ⊆ x ∧ prank(left) < n)  extend-val(v0;f;left) extend-val(v0;λa.extend-val(v0;f;a);left)
9. por(left;a2) ⊆ x
10. imax(prank(left);prank(a2)) 1 < n
11. 1 < n
12. {a:formula()| a ⊆ x ∧ prank(a) < 1}  ⟶ 𝔹
13. ∀a:{a:formula()| a ⊆ x ∧ prank(a) < 1} extend-val(v0;v;a)
14. v ∈ bdd-val(v0;x;n 1)
15. a2 ⊆ x
⊢ prank(a2) < 1


Latex:


Latex:

1.  x  :  formula()
2.  v0  :  \{a:formula()|  a  \msubseteq{}  x  \mwedge{}  (\muparrow{}pvar?(a))\}    {}\mrightarrow{}  \mBbbB{}
3.  n  :  \mBbbN{}
4.  f  :  \mforall{}[m:\mBbbN{}n].  bdd-val(v0;x;m)
5.  left  :  formula()
6.  a2  :  formula()
7.  (a2  \msubseteq{}  x  \mwedge{}  prank(a2)  <  n)  {}\mRightarrow{}  extend-val(v0;f;a2)  =  extend-val(v0;\mlambda{}a.extend-val(v0;f;a);a2)
8.  (left  \msubseteq{}  x  \mwedge{}  prank(left)  <  n)  {}\mRightarrow{}  extend-val(v0;f;left)  =  extend-val(v0;\mlambda{}a.extend-val(v0;f;a);left)
\mvdash{}  (por(left;a2)  \msubseteq{}  x
\mwedge{}  imax(formula\_ind(left;
                                      pvar(name){}\mRightarrow{}  0;
                                      pnot(sub){}\mRightarrow{}  rec1.rec1  +  1;
                                      pand(left,right){}\mRightarrow{}  rec2,rec3.imax(rec2;rec3)  +  1;
                                      por(left,right){}\mRightarrow{}  rec4,rec5.imax(rec4;rec5)  +  1;
                                      pimp(left,right){}\mRightarrow{}  rec6,rec7.imax(rec6;rec7)  +  1)  ;
              formula\_ind(a2;
                                      pvar(name){}\mRightarrow{}  0;
                                      pnot(sub){}\mRightarrow{}  rec1.rec1  +  1;
                                      pand(left,right){}\mRightarrow{}  rec2,rec3.imax(rec2;rec3)  +  1;
                                      por(left,right){}\mRightarrow{}  rec4,rec5.imax(rec4;rec5)  +  1;
                                      pimp(left,right){}\mRightarrow{}  rec6,rec7.imax(rec6;rec7)  +  1)  )
    +  1  <  n)
{}\mRightarrow{}  extend-val(v0;f;por(left;a2))  =  extend-val(v0;\mlambda{}a.extend-val(v0;f;a);por(left;a2))


By


Latex:
(Fold  `prank`  0\mcdot{}
  THEN  (D  0  THENA  Auto)
  THEN  (RW  (SubC  (UnfoldTopC  `extend-val`))  0  THEN  Reduce  0  THEN  EqCD  THEN  Auto)
  THEN  (Assert  1  <  n  BY
                          ((RWO  "imax\_unfold"  10  THEN  Auto)  THEN  SplitOnHypITE  10  THEN  Auto))
  THEN  (GenConclAtAddrType  \mkleeneopen{}bdd-val(v0;x;n  -  1)\mkleeneclose{}  [2;1]\mcdot{}  THENA  (With  \mkleeneopen{}n  -  1\mkleeneclose{}  (DVar  `f')\mcdot{}  THEN  Auto))
  THEN  D  (-2)
  THEN  BHyp  -2
  THEN  MemTypeCD
  THEN  Auto)




Home Index