Step
*
2
1
1
1
2
2
of Lemma
assert-PZF_safe
1. C : Type
2. element : Form(C)
3. set : Form(C)
4. ∀vs:Atom List. (↑(FormSafe2(element) vs) 
⇐⇒ FormSafe1''(element) vs)
5. ∀vs:Atom List. (↑(FormSafe2(set) vs) 
⇐⇒ FormSafe1''(set) vs)
6. vs : Atom List
7. ¬(vs = [] ∈ (Atom List))
8. x : Atom
9. hd(vs) = x ∈ Atom
10. ∀x:Atom. ((x ∈ vs) 
⇒ (vs-[x] = [] ∈ (Atom List) 
⇐⇒ set-equal(Atom;vs;[x])))
11. ↑null(vs-[x])
12. ↑FormVar?(element)
13. ↑FormVar-name(element) =a x
14. ↑((FormVar?(set) ∧b FormVar-name(set) =a x) ∨b(¬bx ∈b FormFvs(set)))
15. vs-[x] = [] ∈ (Atom List) 
⇐⇒ set-equal(Atom;vs;[x])
⊢ ((↑FormVar?(set)) ∧ (FormVar-name(set) = x ∈ Atom)) ∨ (¬(x ∈ FormFvs(set)))
BY
{ ((RWO "assert_of_bor" (-2) THENM ParallelOp -2 THENM RW assert_pushdownC (-2)) THEN Auto) }
Latex:
Latex:
1.  C  :  Type
2.  element  :  Form(C)
3.  set  :  Form(C)
4.  \mforall{}vs:Atom  List.  (\muparrow{}(FormSafe2(element)  vs)  \mLeftarrow{}{}\mRightarrow{}  FormSafe1''(element)  vs)
5.  \mforall{}vs:Atom  List.  (\muparrow{}(FormSafe2(set)  vs)  \mLeftarrow{}{}\mRightarrow{}  FormSafe1''(set)  vs)
6.  vs  :  Atom  List
7.  \mneg{}(vs  =  [])
8.  x  :  Atom
9.  hd(vs)  =  x
10.  \mforall{}x:Atom.  ((x  \mmember{}  vs)  {}\mRightarrow{}  (vs-[x]  =  []  \mLeftarrow{}{}\mRightarrow{}  set-equal(Atom;vs;[x])))
11.  \muparrow{}null(vs-[x])
12.  \muparrow{}FormVar?(element)
13.  \muparrow{}FormVar-name(element)  =a  x
14.  \muparrow{}((FormVar?(set)  \mwedge{}\msubb{}  FormVar-name(set)  =a  x)  \mvee{}\msubb{}(\mneg{}\msubb{}x  \mmember{}\msubb{}  FormFvs(set)))
15.  vs-[x]  =  []  \mLeftarrow{}{}\mRightarrow{}  set-equal(Atom;vs;[x])
\mvdash{}  ((\muparrow{}FormVar?(set))  \mwedge{}  (FormVar-name(set)  =  x))  \mvee{}  (\mneg{}(x  \mmember{}  FormFvs(set)))
By
Latex:
((RWO  "assert\_of\_bor"  (-2)  THENM  ParallelOp  -2  THENM  RW  assert\_pushdownC  (-2))  THEN  Auto)
Home
Index