Step
*
3
1
of Lemma
PZF_safe_functionality
1. C : Type
2. left : Form(C)
3. right : Form(C)
4. ∀vs,ws:Atom List.  (set-equal(Atom;vs;ws) 
⇒ PZF_safe(left;vs) = PZF_safe(left;ws))
5. ∀vs,ws:Atom List.  (set-equal(Atom;vs;ws) 
⇒ PZF_safe(right;vs) = PZF_safe(right;ws))
6. vs : Atom List
7. ws : Atom List
8. set-equal(Atom;vs;ws)
9. as : Atom List
10. FormFvs(left) = as ∈ (Atom List)
11. bs : Atom List
12. FormFvs(right) = bs ∈ (Atom List)
⊢ eval theta = vs-bs in
  PZF_safe(left;theta) ∧b PZF_safe(right;vs-theta)
  ∨beval phi = vs-as in
    PZF_safe(left;vs-phi) ∧b PZF_safe(right;phi) 
= eval theta = ws-bs in
  PZF_safe(left;theta) ∧b PZF_safe(right;ws-theta)
  ∨beval phi = ws-as in
    PZF_safe(left;ws-phi) ∧b PZF_safe(right;phi)
BY
{ ((CallByValueReduce 0 THENA Auto)
   THEN RepeatFor 2 (EqCDA)
   THEN BackThruSomeHyp
   THEN RepeatFor 2 (ParallelOp 8)
   THEN RWW "member-list-diff -1" 0
   THEN Auto) }
Latex:
Latex:
1.  C  :  Type
2.  left  :  Form(C)
3.  right  :  Form(C)
4.  \mforall{}vs,ws:Atom  List.    (set-equal(Atom;vs;ws)  {}\mRightarrow{}  PZF\_safe(left;vs)  =  PZF\_safe(left;ws))
5.  \mforall{}vs,ws:Atom  List.    (set-equal(Atom;vs;ws)  {}\mRightarrow{}  PZF\_safe(right;vs)  =  PZF\_safe(right;ws))
6.  vs  :  Atom  List
7.  ws  :  Atom  List
8.  set-equal(Atom;vs;ws)
9.  as  :  Atom  List
10.  FormFvs(left)  =  as
11.  bs  :  Atom  List
12.  FormFvs(right)  =  bs
\mvdash{}  eval  theta  =  vs-bs  in
    PZF\_safe(left;theta)  \mwedge{}\msubb{}  PZF\_safe(right;vs-theta)
    \mvee{}\msubb{}eval  phi  =  vs-as  in
        PZF\_safe(left;vs-phi)  \mwedge{}\msubb{}  PZF\_safe(right;phi) 
=  eval  theta  =  ws-bs  in
    PZF\_safe(left;theta)  \mwedge{}\msubb{}  PZF\_safe(right;ws-theta)
    \mvee{}\msubb{}eval  phi  =  ws-as  in
        PZF\_safe(left;ws-phi)  \mwedge{}\msubb{}  PZF\_safe(right;phi)
By
Latex:
((CallByValueReduce  0  THENA  Auto)
  THEN  RepeatFor  2  (EqCDA)
  THEN  BackThruSomeHyp
  THEN  RepeatFor  2  (ParallelOp  8)
  THEN  RWW  "member-list-diff  -1"  0
  THEN  Auto)
Home
Index