Step * 6 1 of Lemma PZF_safe_functionality


1. Type
2. var Atom
3. body Form(C)
4. ∀vs,ws:Atom List.  (set-equal(Atom;vs;ws)  PZF_safe(body;vs) PZF_safe(body;ws))
5. vs Atom List
6. ws Atom List
7. set-equal(Atom;vs;ws)
⊢ (var ∈ vs)) ∧ (↑PZF_safe(body;[var vs])) ⇐⇒ (var ∈ ws)) ∧ (↑PZF_safe(body;[var ws]))
BY
(Auto THEN InstHyp [⌜[var vs]⌝;⌜[var ws]⌝4⋅ THEN Auto) }

1
.....antecedent..... 
1. Type
2. var Atom
3. body Form(C)
4. ∀vs,ws:Atom List.  (set-equal(Atom;vs;ws)  PZF_safe(body;vs) PZF_safe(body;ws))
5. vs Atom List
6. ws Atom List
7. set-equal(Atom;vs;ws)
8. ¬(var ∈ vs)
9. ↑PZF_safe(body;[var vs])
⊢ set-equal(Atom;[var vs];[var ws])

2
.....antecedent..... 
1. Type
2. var Atom
3. body Form(C)
4. ∀vs,ws:Atom List.  (set-equal(Atom;vs;ws)  PZF_safe(body;vs) PZF_safe(body;ws))
5. vs Atom List
6. ws Atom List
7. set-equal(Atom;vs;ws)
8. ¬(var ∈ ws)
9. ↑PZF_safe(body;[var ws])
⊢ set-equal(Atom;[var vs];[var ws])


Latex:


Latex:

1.  C  :  Type
2.  var  :  Atom
3.  body  :  Form(C)
4.  \mforall{}vs,ws:Atom  List.    (set-equal(Atom;vs;ws)  {}\mRightarrow{}  PZF\_safe(body;vs)  =  PZF\_safe(body;ws))
5.  vs  :  Atom  List
6.  ws  :  Atom  List
7.  set-equal(Atom;vs;ws)
\mvdash{}  (\mneg{}(var  \mmember{}  vs))  \mwedge{}  (\muparrow{}PZF\_safe(body;[var  /  vs]))  \mLeftarrow{}{}\mRightarrow{}  (\mneg{}(var  \mmember{}  ws))  \mwedge{}  (\muparrow{}PZF\_safe(body;[var  /  ws]))


By


Latex:
(Auto  THEN  InstHyp  [\mkleeneopen{}[var  /  vs]\mkleeneclose{};\mkleeneopen{}[var  /  ws]\mkleeneclose{}]  4\mcdot{}  THEN  Auto)




Home Index