Step * 1 1 1 1 1 1 1 4 1 of Lemma alpha-rename-equivalent


1. varname()
2. varname()
3. bnds varname() List
4. bnds ∈ {v:varname()| (v ∈ bnds)}  List
5. ∀F:{v@0:varname()| (v@0 ∈ bnds)}  ⟶ varname()
     ((v ∈ bnds)  Inj({v@0:varname()| (v@0 ∈ bnds)} ;varname();F)  (↑same-binding(map(F;bnds);bnds;F v;v)))
6. {v@0:varname()| (v@0 ∈ [u bnds])}  ⟶ varname()
7. (v ∈ [u bnds])
8. Inj({v@0:varname()| (v@0 ∈ [u bnds])} ;varname();F)
⊢ ↑same-binding(map(F;[u bnds]);[u bnds];F v;v)
BY
(((Assert u ∈ varname() BY Auto) THEN (Assert v ∈ varname() BY Auto))
   THEN (Assert ((u v ∈ varname()) ∧ ((F u) (F v) ∈ varname()))
               ∨ ((¬(u v ∈ varname())) ∧ ((F u) (F v) ∈ varname()))) BY
               (((BoolCase ⌜eq_var(u;v)⌝⋅ THENA Auto) THENL [OrLeft; OrRight])
                THEN Auto
                THEN (D THENA Auto)
                THEN With ⌜u⌝ 
                THEN Auto))
   }

1
1. varname()
2. varname()
3. bnds varname() List
4. bnds ∈ {v:varname()| (v ∈ bnds)}  List
5. ∀F:{v@0:varname()| (v@0 ∈ bnds)}  ⟶ varname()
     ((v ∈ bnds)  Inj({v@0:varname()| (v@0 ∈ bnds)} ;varname();F)  (↑same-binding(map(F;bnds);bnds;F v;v)))
6. {v@0:varname()| (v@0 ∈ [u bnds])}  ⟶ varname()
7. (v ∈ [u bnds])
8. Inj({v@0:varname()| (v@0 ∈ [u bnds])} ;varname();F)
9. u ∈ varname()
10. v ∈ varname()
11. ((u v ∈ varname()) ∧ ((F u) (F v) ∈ varname())) ∨ ((¬(u v ∈ varname())) ∧ ((F u) (F v) ∈ varname())))
⊢ ↑same-binding(map(F;[u bnds]);[u bnds];F v;v)


Latex:


Latex:

1.  v  :  varname()
2.  u  :  varname()
3.  bnds  :  varname()  List
4.  bnds  \mmember{}  \{v:varname()|  (v  \mmember{}  bnds)\}    List
5.  \mforall{}F:\{v@0:varname()|  (v@0  \mmember{}  bnds)\}    {}\mrightarrow{}  varname()
          ((v  \mmember{}  bnds)
          {}\mRightarrow{}  Inj(\{v@0:varname()|  (v@0  \mmember{}  bnds)\}  ;varname();F)
          {}\mRightarrow{}  (\muparrow{}same-binding(map(F;bnds);bnds;F  v;v)))
6.  F  :  \{v@0:varname()|  (v@0  \mmember{}  [u  /  bnds])\}    {}\mrightarrow{}  varname()
7.  (v  \mmember{}  [u  /  bnds])
8.  Inj(\{v@0:varname()|  (v@0  \mmember{}  [u  /  bnds])\}  ;varname();F)
\mvdash{}  \muparrow{}same-binding(map(F;[u  /  bnds]);[u  /  bnds];F  v;v)


By


Latex:
(((Assert  F  u  \mmember{}  varname()  BY  Auto)  THEN  (Assert  F  v  \mmember{}  varname()  BY  Auto))
  THEN  (Assert  ((u  =  v)  \mwedge{}  ((F  u)  =  (F  v)))  \mvee{}  ((\mneg{}(u  =  v))  \mwedge{}  (\mneg{}((F  u)  =  (F  v))))  BY
                          (((BoolCase  \mkleeneopen{}eq\_var(u;v)\mkleeneclose{}\mcdot{}  THENA  Auto)  THENL  [OrLeft;  OrRight])
                            THEN  Auto
                            THEN  (D  0  THENA  Auto)
                            THEN  D  9  With  \mkleeneopen{}u\mkleeneclose{} 
                            THEN  Auto))
  )




Home Index